【问题标题】:How can I enable the textbox when the checkbox is check选中复选框时如何启用文本框
【发布时间】:2013-11-12 04:04:29
【问题描述】:

如何在 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>

【问题讨论】:

  • 您是否有理由必须使用更旧的$find ASP 函数,而不是使用 jQuery 来执行此操作?
  • 正在渲染什么?一个 html 复选框或某种类型的图像或其他东西?

标签: javascript asp.net telerik-ajax


【解决方案1】:

使用这个:

txtOffSite.disabled = !checkbox.checked;

【讨论】:

    【解决方案2】:

    试试看

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

    【讨论】:

    • 你有什么错误吗?另外请确保调用了 checkLevelZone 函数。
    • 我仔细检查了它并调用了该函数,但文本框仍然被禁用。 :((
    • 更新了答案。再试一次。它应该可以工作,如果您仍然有问题,请向我们展示为文本框呈现的 HTML。
    • 行:293 错误:对象不支持属性或方法 'attr' 这是我得到的错误
    • 再次更新了答案。立即尝试。
    【解决方案3】:

    它对我有用....

    $("#checkBoxId").change(function() {

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

    }) ;

    【讨论】:

      【解决方案4】:

      由于你使用了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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-12-30
        • 1970-01-01
        • 1970-01-01
        • 2011-08-28
        相关资源
        最近更新 更多