获取根据其类名

时间:2017-06-01 17:26:17

标签: jquery

我正在尝试获取一个未选中的复选框的值,该复选框基于其类并使用此选项:

var checkboxVal = $("input[type='checkbox'][name='"+ someVal +"']:not(:checked)").val();

if (chekboxVal == 'C')
{
  //do something;
}
<input id = "1" type = "checkbox" class="someVal" value = "A" >
<input id = "2" type = "checkbox" class="someVal" value = "B" >
<input id = "3" type = "checkbox" class="someVal" value = "C" >
<input id = "4" type = "checkbox" class="someVal" value = "D" >

但如果没有检查,我总是将checkboxVal作为'A'。如果'C'未经检查而不是'A',我想得到'C',而根本没有检查。有什么帮助吗?

2 个答案:

答案 0 :(得分:0)

第一:您需要包含jquery

第二:您需要将name属性设置为输入

第3次:您需要使用.each()

循环播放它们
var checkboxVal = $("input[type='checkbox'][name='"+ someVal +"']:not(:checked)");
checkboxVal.each(function(){
  var Thisval = $(this).val();
  if (Thisval == 'C')
  {
    //do something;
    alert($(this).attr('id'));
  }
});

演示1

var checkboxVal = $("input[type='checkbox'][name=someVal]:not(:checked)");
checkboxVal.each(function(){
  var ThisVal = $(this).val();
  if(ThisVal === 'C'){
    //do something;
    alert($(this).attr('id'));
  }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id = "1" type = "checkbox" name="someVal" class="someVal" value = "A" >
<input id = "2" type = "checkbox" name="someVal" class="someVal" value = "B" >
<input id = "3" type = "checkbox" name="someVal" class="someVal" value = "C" >
<input id = "4" type = "checkbox" name="someVal" class="someVal" value = "D" >

演示2

var checkboxVal = $("input[type='checkbox'][name=someVal]");
checkboxVal.on('change',function(){
  var checked_or_not = this.checked,
      ThisVal = $(this).val();
  if(checked_or_not === true){
    alert('This an input '+ThisVal+' is checked');
  }else{
    alert('This an input '+ThisVal+' is Unchecked now');
  }
  checkboxVal.each(function(){
    var checked_or_not = this.checked;
    var ThisVal = $(this).val();
    if(checked_or_not === false){
      //do something;
      alert('Input with Id : '+$(this).attr('id')+' is unchecked');
    } 
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id = "1" type = "checkbox" name="someVal" class="someVal" value = "A" >
<input id = "2" type = "checkbox" name="someVal" class="someVal" value = "B" >
<input id = "3" type = "checkbox" name="someVal" class="someVal" value = "C" >
<input id = "4" type = "checkbox" name="someVal" class="someVal" value = "D" >

答案 1 :(得分:0)

你的选择器有[name ='someVal'],而输入有class =“someVal”。

应该是eiter

var checkboxVal = $("input."+ someVal +"[type='checkbox']:not(:checked)").val();

<input id="1" type="checkbox" name="someVal" value="A">
<input id="2" type="checkbox" name="someVal" value="B">
<input id="3" type="checkbox" name="someVal" value="C">
<input id="4" type="checkbox" name="someVal" value="D">
相关问题