【问题标题】:Radio button saving value of fist clicked, not changing to value of second/last clicked单选按钮保存第一次单击的值,不更改为第二次/最后一次单击的值
【发布时间】:2019-08-14 23:03:54
【问题描述】:

我正在处理一些遗留代码。有一组单选按钮,true 和 false。 True 是预选的。当我单击 false,然后返回单击 true 时,保存的值为 false。如何重新编写此代码以使其获取最后单击的单选按钮的值?

HTML

<label class="input-radio">
   <input name="radio" value="true" type="radio" checked  />
      <span>True</span>
</label>
<label class="input-radio">
   <input name="radio" value="false" type="radio" />
     <span>False</span>
</label>

Javascript

$('input[name="radio"]').change(function(){
 var selectedValue = $('input[name="radio"]:checked').val();
 if($(this).prop('checked')) {
   $('input[name="radio"]').prop('value',selectedValue);
}
});

【问题讨论】:

    标签: javascript radio-button radio-group legacy-code


    【解决方案1】:

    您将所选单选按钮的value 设置为先前选择的单选按钮值。这行代码:

    $('input[name="radio"]').prop('value',selectedValue);
    

    导致您有两个具有相同值的单选按钮。所以,你的初始值是真的。当你点击false时,它会将每个单选按钮的值设置为false,所以当你返回点击true时,由于之前的change,它实际上设置为false

    我不知道这条线的用途,但删除它应该可以解决这个问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-11-05
      • 2012-07-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多