2010-04-18 58 views
3

我有一個窗體與圖像縮略圖選擇複選框下載。 我想要一個數組與jQuery中的圖像進行Ajax調用。jquery過濾器.not()

2個問題:
- 在表格頂部有一個複選框,用於切換我想從映射中排除的所有複選框。我看了看jQuery的.not(),但是我不能用:checkbox選擇器來實現它
- 以下示例代碼是否正確?

$(document).ready(function() { 
    $('#myform').submit(function() { 
     var images = $("input:checkbox", this).map(function() { 
      return $(this).attr("name"); 
     }).get().join(); 

     alert(images); // outputs: ",check1,check2,check3" 
     return false; // cancel submit action by returning false 
    }); 
}); // end doc ready 

HTML:

<form id="myform" action="" > 
    <input type="checkbox" id="toggleCheck" onclick="toggleSelectAll()" checked="checked" ><br /> 

    <input type="checkbox" name="001.jpg" checked="checked" /><br /> 
    <input type="checkbox" name="002.jpg" checked="checked" /><br /> 
    <input type="checkbox" name="003.jpg" checked="checked" /><br /> 
    <br /> 
    <input type="submit" value="download" > 
</form> 

回答

7

您可以通過ID排除,像這樣:

$("input:checkbox", this).not("#toggleCheck").map(.... 

這將排除全部選擇從映射切換。

+0

感謝(再次)尼克。 現在,我有我的複選框默認檢查,但是當我取消選擇一些,他們不更新DOM ..我應該怎麼做? – FFish 2010-04-18 21:08:59

+0

@FFish - 不知道我完全理解,但是如果你想映射只有選中的選項,像這樣:'$(「input:checkbox:checked」,this)' – 2010-04-18 21:11:28

+0

Supah,你的達人。乾杯! – FFish 2010-04-18 21:16:50