Jquery map函数失去状态

时间:2011-05-21 12:58:07

标签: jquery

这是我使用jquery检索复选框值的下面代码。

<div id="checkboxdiv">
<input type="checkbox" name="test" value=1 onclick="getVals();" checked/>
<input type="checkbox" name="test" value=2 onclick="getVals();" checked/>
<input type="checkbox" name="test" value=3 onclick="getVals();" checked/>
<input type="checkbox" name="test" value=4 onclick="getVals();" checked/>
</div>

下面是Jquery脚本函数:

function getVals(){
  var values=$("#checkboxdiv input[name=test]:checked").map (function (){
    return $(this).val();}).get().join(',');
  alert(values);
}

当我第一次执行上面的代码时,它工作正常。当我开始取消选中任何复选框时 它给出了结果,如果我取消选中第4个复选框,它会给出,2,3

之类的结果

我不明白上面的代码有什么问题,任何提示都很受欢迎。

1 个答案:

答案 0 :(得分:6)

您的代码正常如果您解决了这两个问题:

  1. 为“.map()”调用
  2. 添加缺少的“)”
  3. 选择器应以“:checked”而不是“.checked”结束
  4. Here is a jsfiddle.