这是如此基本,但我无法得到它。
在捐款表格上,人们选择预先设定的金额支付或“其他”。如果他们选择“其他”,即使选择了预设,也必须激活“其他”单选按钮。
HTML:
<label>
<input type="radio" name="x_ccPayment" class="required" title="*"
value="120" data-payment="once" />
$120</label>
<label>
<input type="radio" name="x_ccPayment" class="required" title="*"
value="50" data-payment="once" />
$50</label>
<label>
<input type="radio" name="x_ccPayment" class="required" title="*"
value="-99" data-payment="once" />
Other:</label>
<input type="text" name="x_ccPayment_other" id="other_once" style="width: 100px;" value="" onKeyUp="checkNumericInput(this)" data-payment="once" class="form-control" />
JQUERY:
$("#other_once").keyup(function(){
var other_once = $("#other_once").val();
if (other_once !=='') {
$("input[name=x_ccPayment]").removeAttr('checked'); // deselect other options
$("input[name=x_ccPayment][data-payment=once][value=-99]").attr('checked','checked'); /auto-select the 'other' radio
}
});
当我查看Dev工具时,我看到收音机正确checked
,但屏幕上没有显示。
答案 0 :(得分:1)
不要将.removeAttr()
和.attr()
用于已选中的属性。使用.prop()
:
$("input[name=x_ccPayment]").prop('checked',false); // deselect other options
$("input[name=x_ccPayment][data-payment=once][value=-99]").prop('checked',true);