忽略值单选按钮-iCheck

时间:2018-07-18 17:11:39

标签: javascript jquery html icheck

我尝试通过这种方式从单选按钮(iCheck)获取值,但始终仅从第一个单选按钮返回值,而忽略其余值。从理论上讲,即使代码返回错误,代码也很好。

Radio box, get the checked value [iCheck]

我的代码:

<div class="step row">
  <div class="col-md-10">
    <h3>YYYYYY.</h3>
    <ul class="data-list-2">
      <li><input name="p1" id="p1" type="radio" class="required check_radio" value="1"><label>Yes</label></li>
      <li><input name="p1" id="p1" type="radio" class="required check_radio" value="0"><label>No</label></li>
      <li><input name="p1" id="p1" type="radio" class="required check_radio" value="2"><label>Meybe</label></li>
    </ul>
  </div>
</div>
<!-- end step -->

我获取价值的方法:

$(document).ready(function() {
  $('#p1').on('ifChecked', function(event) { //try ifClicked - ifToggled 
    alert($(this).val()); // alert value
  });
});

即使选择了另一个选项,也始终返回值1

请帮忙,我整夜尝试不同的方法,但是没有用;(

1 个答案:

答案 0 :(得分:1)

我不确定您如何生成单选按钮的ID,但是id属性应该始终是唯一的,因为您希望对单选按钮进行相同的事件处理,只需使用{{1 }},以便将事件附加到属于该class的所有单选按钮,那么您不必为每个单独的class添加事件:

所以代替这个:

id

将其更改为此:

//If you did it this way, you'd have to have one of these blocks for each
//unique id belonging to a radio button
$('#p1').on('ifChecked', function(event){ //try ifClicked - ifToggled 
  alert($(this).val()); // alert value
});