0

我有

1)<input type="checkbox">具有相同名称的多个标签

2)<input type="radio">具有相同名称的标签

2) 是微不足道的情况,因为同名的单选按钮只能点击一个按钮。

问题是案例1)。这是我想出的:

$('input[type="checkbox"]').click( function() {
  var value = $(this).val();
  alert(value);
});

有了这个,value只存储一个项目。如果用户在同一个复选框中选中了多个项目,我该如何检索它们?

4

3 回答 3

1

尝试以下

$('input[type="checkbox"]').click( function() {
    stack = [];
    $('input[type="checkbox"]').each(function(){

        if($(this).is(':checked')){
            stack.push($(this).val())
        }
    })
    console.log(stack)
});

演示

于 2013-02-12T10:53:00.350 回答
0

使用 jquery :checkbox选择复选框类型的所有元素。, :checked选择选中的复选框。所以你可以结合它并使用循环来获取值......

尝试这个

$(':checkbox').click( function() {
   var val = [];
    $(':checkbox:checked').each(function(i){
      val[i] = $(this).val();
    });

   console.log(val);
});

在这里摆弄

于 2013-02-12T10:54:07.540 回答
0

您可以获得这样的检查值:

HTML:

<input type="checkbox" name="checkboxes" checked="checked" title="1" value="1" />
<input type="checkbox" name="checkboxes" title="2" value="2"/>
<input type="checkbox" name="checkboxes" checked="checked" title="3" value="3"/>
<input type="checkbox" name="checkboxes" title="4" value="4"/>

脚本:

var val = []
$("input[name='checkboxes']:checked").each(function(i){
      val[i] = $(this).val();
});

console.log(val);

这是工作演示:http: //jsfiddle.net/56XTZ/

于 2013-02-12T11:00:53.437 回答