JQuery元素没有选择

时间:2016-10-07 08:18:37

标签: javascript jquery html checkbox

我有以下在页面加载时运行的功能,但在选中复选框时不会运行。有谁能说出原因?

我的 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 *****************

原来这个代码可以单独运行,但我的代码中有其他东西阻止它正常工作。我假设动态添加复选框可能导致问题,但这是我想的另一个问题。无论如何,谢谢你的帮助。

2 个答案:

答案 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);
});

这很有效但该死的......那个......

[编辑]

我试图尽可能接近原始代码。 看看这个。看看这是否适合你。

https://jsfiddle.net/ttL11k8n/