2010-04-18 62 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