我对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");
});
});
如果单击添加按钮,则会有两个复选框,它将显示每个已选中复选框的警报消息。但它没有用。有谁可以指出错误?
答案 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");
});
顺便说一句,后者更快。