i want to trigger the click event of my dynamic generated list-items. The div where the list is in has a click-event to stopPropagation, so that the dropdown list don't toggle's by clicking list-items. Without stopPropagation, the click is working but my dropdown list broke.
Is there any chance to get this working?
//Dropdown Script
$('.nav-drop-down').click(function(){
let toggleEle = $( this ).find('.drop-down-list');
$('.drop-down-list').not( toggleEle ).hide();
toggleEle.slideToggle();
});
$('.drop-down-list').click(function(e){
e.stopPropagation();
});
//Add Live Search
var currencies = ['EUR', 'USD', 'UK', 'UKA', 'PND', 'USA'];
addLiveSearchToElement($('#currency-filter'), currencies, 'change-currency');
function addLiveSearchToElement(ele, arr, liClass){
ele.keyup(function(){
//Get ul-list
let list = $( this ).next();
//Store User input
let input = $( this ).val();
list.empty();
$.each(arr, function(i, value) {
if(input != ''){
if(value.toLowerCase().indexOf(input.toLowerCase()) != -1){
list.append(`<li class="${liClass}"> ${arr[i]} </li>`);
}
} else {
list.append(`<li class="${liClass}"> ${ value } </li>`);
}
});
});
if(liClass != ''){
console.log("Doin it");
$('ul').on('click', `li.${liClass}`, function() {
console.log("Hello...");
});
}
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="position-relative d-flex nav-drop-down no-select">
<span>USD Currency</span>
<div class="position-absolute drop-down-list">
<input id="currency-filter" placeholder="Filter..." />
<ul class="list-dropdown">
<li>
Item 1
</li>
<li>
Item 2
</li>
</ul>
</div>