使用:选中的选择器

时间:2012-06-25 10:54:34

标签: javascript jquery jquery-selectors

我对jquery复选框感到困惑:选中了选择器。即使在阅读文档后,我也不知道如何使用它。

HTML:

<div class="addbox">
<h4><span class="addbox-text">Pick your best work from <b class="highlight-text">Flickr</b> to display in your portfolio</span></h4>
<div class="addbox-buttons"><input type="button" id="addbox-add" value="Add"><input type="button" id="addbox-cancel" value="Cancel"></div>
<div class="addmenu-item" id="addmenu-item-1e30"><span class="addmenu-image"><img class="addmenuimage" src="http://farm8.staticflickr.com/7122/7424355198_72620895bd_m.jpg"></span><span class="addmenu-info"><input type="checkbox" id="add-check-1e30">Orchid Profiles</span></div>
<div class="addmenu-item" id="addmenu-item-1230"><span class="addmenu-image"><img class="addmenuimage" src="http://farm8.staticflickr.com/7122/7424355198_72620895bd_m.jpg"></span><span class="addmenu-info"><input type="checkbox" id="add-check-1230">Orchid Profiles</span></div>
</div>​

jQuery for checked

$("#addbox-add").click(function(){
    $("input[type=checkbox] :checked").each( function() {
        alert("yes");
    });
});

如果单击添加按钮,则会有两个复选框,它将显示每个已选中复选框的警报消息。但它没有用。有谁可以指出错误?

Here is the jsfiddle

1 个答案:

答案 0 :(得分:6)

删除空格:工作演示http://jsfiddle.net/F6pag/4/

$("input[type=checkbox]:checked").each( function() {
//                     ^ ----- No space!!!
    alert("yes");
});

你有:

$("input[type=checkbox] :checked")
//                     ^--- Space! NO!!! :)

所以你的代码在复选框内搜索选中的复选框\ radios ...猜猜看,jQuery没有找到任何这些。

如果没有空格,则将其视为额外的过滤器信息。

就像:

$("input[type=checkbox]").filter(':checked').each( function() {
    alert("yes");
});

顺便说一句,后者更快。