我有以下在页面加载时运行的功能,但在选中复选框时不会运行。有谁能说出原因?
我的 JS
function filterFilesList() {
alert('filter');
}
$("#filterControls :checkbox").click(filterFilesList);
filterFilesList();
HTML
<div id="filterControls"><ul><h4>Business Divisions</h4><li><label><input type="checkbox" value="SMB"><span></span>SMB</label></li><li><label><input type="checkbox" value="DCS"><span></span>DCS</label></li><li><label><input type="checkbox" value="DPS"><span></span>DPS</label></li>
</ul>
</div>
我也试过$("#filterControls ul li :checkbox")
,但这不起作用
****************** EDIT *****************
原来这个代码可以单独运行,但我的代码中有其他东西阻止它正常工作。我假设动态添加复选框可能导致问题,但这是我想的另一个问题。无论如何,谢谢你的帮助。
答案 0 :(得分:4)
DEMO附:请检查
$(document).ready(function(){
$("#filterControls :checkbox").click(filterFilesList);
filterFilesList();
});
function filterFilesList() {
alert('filter');
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="filterControls">
<ul>
<h4>Business Divisions</h4>
<label>
<li>
<input type="checkbox" value="SMB">
<span></span> SMB
</li>
</label>
<label>
<li>
<input type="checkbox" value="DCS">
<span></span> DCS
</li>
</label>
<label>
<li>
<input type="checkbox" value="DPS">
<span></span> DPS
</li>
</ul>
</div>
答案 1 :(得分:3)
function filterFilesList() {
alert('filter');
}
$(document).ready(function(){
$("#filterControls :checkbox").click(filterFilesList);
});
这很有效但该死的......那个......
[编辑]
我试图尽可能接近原始代码。 看看这个。看看这是否适合你。