单击拳头的单选按钮保存值,不更改为 second/last 单击的值

Radio button saving value of fist clicked, not changing to value of second/last clicked

我正在处理一些遗留代码。有一组单选按钮,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);
}
});

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

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

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

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