我想在选中第一个单选按钮时启用文本框,如果是第二个,那么我想禁用文本框,这是我的代码不起作用,请帮助..

<label class="radio-inline">
    <input type="radio" value="Y" name="IsLive" class="grey">
    YES
</label>
<label class="radio-inline">
    <input type="radio" value="N" name="IsLive" class="grey">
    NO
</label>

<label class="col-sm-2 control-label">
    Live Date
</label>
<div class="col-sm-3">
    <input type="text" id="LiveDate" name="LiveDate" class="form-control date-picker">
</div>

$('input:radio[name="IsLive"]').change(function () {
    if ($(this).is(':checked') && $(this).val() == 'Y') {
        // append goes here
        $("#LiveDate").show();
    } else {
        $("#LiveDate").prop("disabled", true);
    }
});

最佳答案

您可以通过仅根据所选 radio 的值是否为 disabled 设置 Y 属性来实现此目的。试试这个:

$('input:radio[name="IsLive"]').change(function() {
    $("#LiveDate").prop("disabled", this.value != 'Y');
});

Working example

请注意,我删除了 :checked 条件,因为它对于单选按钮来说是多余的,为了引发新的 change 事件,必须检查元素。

10-08 15:47