2012-06-25 65 views
1

我很困惑与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的托运

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

有如果添加按钮,点击它会显示每个选中的复选框警报消息两个复选框。但它不起作用。有谁能指出这个错误吗?

Here is the jsfiddle

+0

另请参见:[jQuery选择器中的空间是什么意思?](http://stackoverflow.com/questions/6865910/what-does-a-space-in-a-jquery-selector-mean) –

+1

_“checkbox checked event。”_ - 只是关于术语的说明:您的意思是':checked' _selector_。 – nnnnnn

+0

@RobW感谢您的链接 – rnk

回答

5

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

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

您有:

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

所以你的代码搜索选择复选框\里面复选框收音机...猜猜看,jQuery没有找到任何这些。

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

就像:

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

顺便说一句,后来更快。

+0

+1,但指出空间的含义以及不正确的选择器实际尝试查找的内容可能会有所帮助。 –

+0

@DavidHedlund。已经做了...谢谢。 – gdoron

+0

@tats,感谢DEMO,但要小心,你重写我的代码......':)'谢谢。 – gdoron