单选按钮禁用Html.textbox

Radio button disable Html.textbox

本文关键字:textbox Html 单选按钮      更新时间:2023-09-26

我有两个单选按钮Billable"Y"&计费"N"。它们连接到一个值为"Y"或"N"的数据库。

如果Radio="Y",则需要禁用TextBox NonBillableReason。

如果Radio="N",则需要禁用TextBox NonBillableReason。

js。我在页面加载方面工作得很好,我根据Radio值"Y"或"N"获得正确的行为。问题是我似乎无法点击单选按钮并更改禁用、true(或)禁用、false。

<label><span>YES</span>@Html.RadioButtonFor(model => model.Billable, "Y")   </label>
<label><span>NO</span>@Html.RadioButtonFor(model => model.Billable, "N")

@Html.TextBoxFor(model => model.NonBillableReason,new {@class = "form-control", @placeholder = "NOT BILLABLE BECAUS..."})
<script>
    $(document).ready(function () {
    if ($("#Billable:checked").val() == "Y") {
        $("#NonBillableReason").attr("disabled", true);
    }
    if ($("#Billable:checked").val() == "N") {
        $("#NonBillableReason").attr("disabled", false);
    }
});
</script>

由于使用jQuery,您可以在单选按钮上添加change事件,然后更改禁用NonBillableReason元素:

function validate() {
    if ($("#Billable:checked").val() == "Y") {
        $("#NonBillableReason").attr("disabled", true);
    }
    if ($("#Billable:checked").val() == "N") {
        $("#NonBillableReason").attr("disabled", false);
    }
}
$(document).ready(function () {
    validate();
    $('input').change(validate);
});

尝试

 if($('#radio_button').is(':checked')) 
{ 
 $("#NonBillableReason").attr("disabled", true); 
 }
else 
{
   $("#NonBillableReason").attr("disabled", false); 
}