如何将复选框值作为数组?

时间:2016-02-29 05:30:02

标签: javascript jquery html

我有三个复选框。我想获得检查值。我使用的是jQuery,但我没有正确使用它。

HTML

<label class='checkbox'><input type='checkbox' name='' class='group1' value=""/>Period 1</label>
<label class='checkbox'><input type='checkbox' name='' class='group1' value="" class='termcls' />period 2</label>
<label class='checkbox'><input type='checkbox' name='' class='group1' value=""/>All</label>

的jQuery

var values = $('input:checkbox:checked.group1').map(function () {
    return this.value;
}).get();

alert(values[0]);

4 个答案:

答案 0 :(得分:3)

只需尝试

var values =[];
$('input.group1:checkbox:checked').each(function () {
    value.push( this.value );
});

console.log( values );

由于Arun没有发布答案,所以无耻地从他fiddle复制它:)

$('input:checkbox.group1').change(function() {
  var values = $('input:checkbox:checked.group1').map(function() {
    return this.value;
  }).get();

  alert(values);
})

答案 1 :(得分:2)

为每个复选框添加值,并像这样使用

&#13;
&#13;
function getoutput() {
  var values = [];
  $('.group1:checked').each(function() {
    values.push($(this).val());
  });
  console.log(values);
}
&#13;
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<label class='checkbox'>
  <input type='checkbox' name='' class='group1' value="1" />Period 1</label>
<label class='checkbox'>
  <input type='checkbox' name='' class='group1' value="2" class='termcls' />period 2</label>
<label class='checkbox'>
  <input type='checkbox' name='' class='group1' value="3" />All</label>

<input type="button" value="Get Selected" onclick="getoutput()">
&#13;
&#13;
&#13;

答案 2 :(得分:0)

我会使用a来查看值,然后使用&#34; .is(&#39;:checked&#39;)&#34;检查哪些被检查。

答案 3 :(得分:0)

你可以试试这个

注意: value现在在你的html中是空白的,必须有一个值才能将其输入.map()函数

var values = $('input.group1:checkbox:checked').map(function () {
   return this.value;
}).get().join(',');

Demo