如何从具有相同名称的<input />标记中提取值?

时间:2013-02-12 10:44:37

标签: jquery html

我有

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

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

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

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

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

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

3 个答案:

答案 0 :(得分:1)

尝试以下

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

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

demo

答案 1 :(得分:0)

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

试试这个

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

   console.log(val);
});

fiddle here

答案 2 :(得分: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/