2012-06-25 66 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