jQuery - 仅在第一次检查时定位第二个radiobutton

时间:2016-01-28 16:34:46

标签: javascript jquery html

我有一组是/否单选按钮。我想要一个模态窗口,当用户点击未经检查的' no'仅当已选中“是”单选按钮时,单选按钮。有一个州不会检查任何按钮,在这种情况下我不希望模式出现。

我的问题是我在点击事件中显示这个模式,并且没有'按钮。我无法判断是否'是'是之前已经检查过了,因为在这个范围内,我们知道“没有”#39;已经过检查,因为我们已经在click事件中进行了检查。有什么建议?

<span class="yesRadioButton" data-questionnumber="1">
    <input id="MHQPreQuestion1_rbQuestAnswerYes" name="YesNo" type="radio"value="Yes" checked="checked">
</span>
<span class="noRadioButton" data-questionnumber="1">
    <input id="MHQPreQuestion1_rbQuestAnswerNo" name="YesNo" type="radio"value="No">
</span>


$('.noRadioButton > input:radio:not(:checked)').click(function () {
    DialogOpen();
});

1 个答案:

答案 0 :(得分:2)

您可以在&#34;是&#34;上设置属性。单击它时输入,以便您知道它是否先前已设置。然后你可以通过jQuery获取第一个输入并检查它的值,然后再决定是否要让弹出窗口出现在&#34; no&#34;点击处理程序:

$('.noRadioButton > input').click(function() {
  var yesButton = $('.yesRadioButton > input');
  var yesValue = yesButton.attr('wasChecked');

  if (yesValue === "true") {
    //do your popup
  }

  yesButton.attr('wasChecked', false);

});   

$('.yesRadioButton > input').click(function() {
    $(this).attr('wasChecked', true);
}); 

Example here

编辑:更新以使用单选按钮,我在想复选框