Javascript 忽略值单选按钮-iCheck

Javascript 忽略值单选按钮-iCheck,javascript,jquery,html,icheck,Javascript,Jquery,Html,Icheck,我尝试用这种方法从单选按钮(iCheck)获取值,但始终只返回第一个单选按钮的值,而忽略其余的值。理论上说,代码很好,即使返回的结果很差 我的代码: <div class="step row"> <div class="col-md-10"> <h3>YYYYYY.</h3> <ul class="data-list-2"> <li><input name="p1" id="p1" t

我尝试用这种方法从单选按钮(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 -->
即使选择了另一个选项,所有时间都返回值
1


请帮忙,我整晚都在尝试不同的方法,但都不管用;(

我不确定如何为单选按钮生成id,但
id
属性应始终是唯一的,因为您希望单选按钮上有相同的事件处理,只需使用
即可将事件附加到属于该
的所有单选按钮上,这样您就不必使用每个
id
的dd事件:

因此,与此相反:

//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
});
将其更改为:

//Use the class instead so that the same event handling can be added to all radio
//buttons in one block of code
$('.required.check_radio').on('ifChecked', function(event){ //try ifClicked - ifToggled 
  alert($(this).val()); // alert value
});

您正在使用多个相同的id(
p1
)。请改用类。@Alejandro您的所有单选按钮的id值均为“p1”。id应始终是唯一的。如果要将“ifChecked”事件处理程序添加到所有单选按钮,请将
$(“#p1')
更改为
$”。必需。请检查单选按钮)
因此,您可以使用该类并将事件处理程序附加到所有单选按钮上,#表示id,因为您有多个具有相同id的按钮,所以它默认为第一个。请给我一个示例,我是新手,我使用id是因为我有许多“步骤行”有不同问题的div和p2,p3,p4…,这是一个survey@Alejandro我在下面的回答中提供了相关代码。
//Use the class instead so that the same event handling can be added to all radio
//buttons in one block of code
$('.required.check_radio').on('ifChecked', function(event){ //try ifClicked - ifToggled 
  alert($(this).val()); // alert value
});