复选框和文本框

时间:2010-11-25 13:09:13

标签: asp.net html textbox checkbox

有一个复选框和一个文本框。最初,文本框已设置为禁用,并且在选中已启用的文本框复选框时。我试过这个但问题是当添加runat服务器时它无法正常工作。或者我应该改变asp.net标准控件的javascript逻辑。或者可以建议我采用这种方式。

<script type="text/javascript">
 $(document).ready(function() {
    var checkbox = $('#htmlChkNotify');
    var textfield = $('#htmlTxtNotifyemailaddress');
        checkbox.click(function() {
            if (checkbox.is(':checked')) {
                textfield.removeAttr('disabled');
                textfield.removeClass("email");
            }
            else {
                textfield.attr('disabled', 'disabled');
                textfield.addClass("email");
            }
        });
    });


    </script>

<input type="checkbox"  id="htmlChkNotify"/>
<label for="htmlChkNotify">Notify</label>
<input type="text" id="htmlTxtNotifyemailaddress" disabled="disabled" 
       class="email" style="width:25%" />

3 个答案:

答案 0 :(得分:1)

有几种方法可以让它发挥作用。

  1. 使用所有服务器端代码。
  2. 在客户端(javascript)代码中,使用控件的id属性,而不是使用服务器端.ClientId。因此,如果您的htmlChkNotify是服务器端,则可以使用var checkbox = $('#<%=htmlChkNotify.ClientId%>');

答案 1 :(得分:1)

  1. 将runat属性添加到文本框
  2. 改变你的第4行 var textfield = $('#&lt;%= htmlTxtNotifyemailaddress.ClientID%&gt;');
  3. 应该这样做

答案 2 :(得分:0)

查看生成的HTML(浏览器中的“查看源”)
并检查复选框和文本框的ID