选中复选框后,如何启用文本框

时间:2013-10-31 23:45:59

标签: javascript asp.net telerik-ajax

如果在JavaScript中选中复选框,我该如何启用文本框:

有人可以告诉我如何正确地做到这一点! 这是我的代码:

 function checkLevelZone() {
            var txtOffSite = $find("<%=txtOffSite.ClientID %>");
            var checkbox = $find("<%=OffSiteCheck.ClientID %>");
            if (checkbox.checked) {
                txtOffSite.removeAttribute('Enabled');
                } else {
                txtOffSite.disabled = true;
               }

            }

ASP:

<telerik:RadButton ID="OffSiteCheck" runat="server" ToggleType="CheckBox" ButtonType="ToggleButton"  OnClientCheckedChanged="checkLevelZone"  Skin="Windows7"></telerik:RadButton>
                                <telerik:RadTextBox ID="txtOffSite" runat="server" Enabled="false"> </telerik:RadTextBox>

4 个答案:

答案 0 :(得分:0)

使用此:

txtOffSite.disabled = !checkbox.checked;

答案 1 :(得分:0)

试一试

function checkLevelZone() {
    var checkbox = $("#<%=OffSiteCheck.ClientID %>");
    if (checkbox.checked) {
        $("#<%=txtOffSite.ClientID %>").removeAttribute('disabled');
    } else {
        $("#<%=txtOffSite.ClientID %>").attr("disabled", "disabled");
    }
}

答案 2 :(得分:0)

它为我工作......

$(&#34;#checkBoxId&#34)。变化(()的函数 {

$(&#34; #textBoxId&#34; />").prop("disabled" ;,!$(this).is(&#39;:checked&#39 ;));

});

答案 3 :(得分:0)

由于您使用了OnClientCheckedChanged,因此您的函数签名不正确。

function checkLevelZone(sender, args) {  
    if (args.get_checked()) { // Most rad controls use .set_enabled(true), the RadTextBox is different.
        $find('<%= txtOffSite.ClientID%>').enable();  // $find() works, $() doesn't always work.
    }
    else {    
        $find('<%= txtOffSite.ClientID%>').disable();
    }
}

Online documentation for RadNumericTextBox,其中大部分适用于RadTextBox