如何根据不同的名称获取所有复选框值?

时间:2016-03-30 16:53:13

标签: javascript jquery

$('input[name^=tc]').click(function(){
            var attr = $(this).attr('name');
            $(this).siblings('input[name='+attr+']').prop('checked', false);
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
1
<input  name="tc0" value="Y" type="checkbox">
<input name="tc0"  value="N"type="checkbox">
2
<input name="tc1" value="Y" type="checkbox">
<input name="tc1" value="N" type="checkbox">
3
<input name="tc2" value="Y" type="checkbox">
<input name="tc2" value="N" type="checkbox">

如何根据名称获取所有复选框的最终值? 例如,如果我检查tc0的值“Y”,tc1的值为“N”,tc2的值为“Y”。

我怎样才能将“YNN”或[“Y”,“N”,“N”]带回给我?

2 个答案:

答案 0 :(得分:1)

首先,我假设您没有使用RADIO而不是CHECKBOX,因为RADIO在没有额外的Jquery点击的情况下完成每组的单一检查。

//changed CLICK to CHANGE

$('input[name^=tc]').change(function(){
var attr = $(this).attr('name');
$(this).siblings('input[name='+attr+']').prop('checked', false);
});

//get ids

vals = "";
$("input[type=checkbox]:checked").each(function(){
vals += $(this).val();
});
console.log(vals);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input checked name="tc0" value="Y" type="checkbox">
<input name="tc0"  value="N"type="checkbox">
<input checked name="tc1" value="Y" type="checkbox">
<input name="tc1" value="N" type="checkbox">
<input checked name="tc2" value="Y" type="checkbox">
<input name="tc2" value="N" type="checkbox">

答案 1 :(得分:1)

逻辑要求使用单选按钮而不是复选框。这是使用单选按钮的解决方案

&#13;
&#13;
$('#getResult').on('click', getResult);

function getResult(){
  var result=[];
  $('input[name^=tc]:checked').each(function(){
      result.push($(this).val());
    });
  alert(result.toString());
  }
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
1<br>
<input  name="tc0" value="Y" type="radio">Yes <br>
<input name="tc0"  value="N"type="radio">No<br>
2<br>
<input name="tc1" value="Y" type="radio">Yes <br>
<input name="tc1" value="N" type="radio">No<br>
3<br>
<input name="tc2" value="Y" type="radio">Yes <br>
<input name="tc2" value="N" type="radio">No<br>
<button id="getResult">Get Result</button>
&#13;
&#13;
&#13;