禁用文本框

时间:2010-11-03 08:02:07

标签: javascript asp.net html migrate

我写了这段代码。但它适用于html复选框和txtbox。我想用asp.net txtbox和checkbox.how来实现相同的功能吗?

<script type="text/javascript">
    $(document).ready(function() {
    var checkbox = $('#notify');
        var textfield = $('#notifyemailaddress');
        checkbox.click(function() {
            if (checkbox.is(':checked')) {
                textfield.removeAttr("disabled");
                textfield.removeClass("email");
            }
            else {
                textfield.attr("disabled", "disabled");
                textfield.addClass("email");
            }
        });
    });
</script>
<div>
                               <input type="checkbox"  id="notify"/>
                              <label for="notify">Notify</label>
                              <input type="text" id="notifyemailaddress" disabled="disabled" class="email" style="width:25%" /> 
                             </div>

2 个答案:

答案 0 :(得分:1)

您需要在asp.net上找到正确的ID,为此,您可以使用asp.net控件的 ClientID 。所以你写了像

这样的东西
 var checkbox = $('#<%=notify.ClientID%>');

其中&lt;%= notify.ClientID%&gt;,打印控件的最终呈现ID,输入看起来像

<asp:CheckBox runat="server" id="notify" />

在asp.net 4上,您还可以使用静态ID来避免ClientID,但请注意不要在同一页面上多次使用相同的控件ID。您可以阅读更多信息:http://msdn.microsoft.com/en-us/library/1d04y8ss.aspx

答案 1 :(得分:0)

如果复选框服务器控件名是notifyemailaddress,请使用:

var textfield = $('#<%= notifyemailaddress.ClientID %>');