2017-06-22 193 views
0

所以,我在查找選擇器時遇到了一些問題。在ajax之後發生事件onclick

$(document).on('click', 'input[type=checkbox]', function() { 
    alert("hello!"); 
}); 

因此,如果我需要查找頁面上的所有複選框,那麼該代碼工作正常。但! 我需要找到複選框,是內部

<ul id="sortable-menu"> 
    <li> 
    <input type="checkbox" id=${category['id']} />//so, id is dynamic 
    </li> 
</ul> 

請幫忙解決我的小問題。謝謝!

+1

改變你的選擇,以'#排序菜單輸入[類型=複選框]'' – NewToJS

回答

0

只需使用最接近靜態家長對委託事件

$('#sortable-menu').on('click', ':checkbox', function() { 
    alert("hello!"); 
}); 

如果sortable-menu也動態生成

$(document).on('click', '#sortable-menu :checkbox', function() { 
    alert("hello!"); 
}); 

在地方document總是用最接近靜態容器有更好的表現。

+1

感謝您的建議!它很好用! – Deadpool

1

什麼是你傳遞給jQuery是一個CSS選擇器,所以你可以只描述你所尋找的結構:

$(document).on('click', '#sortable-menu li input[type=checkbox]', function() { 
    alert("hello!"); 
}); 
相關問題