jquery:设置收音机inout为已选中

时间:2018-01-29 17:31:16

标签: jquery

这是如此基本,但我无法得到它。

在捐款表格上,人们选择预先设定的金额支付或“其他”。如果他们选择“其他”,即使选择了预设,也必须激活“其他”单选按钮。

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,但屏幕上没有显示。

1 个答案:

答案 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);