1

私はこのコードを書きました。ただし、htmlチェックボックスとtxtbox用です。asp.net txtboxとcheckboxで同じ機能を実現したいのですが、どうすればいいですか?

<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>
4

2 に答える 2

1

asp.net で正しい ID を見つける必要があります。そのためには、asp.net コントロールのClientIDを使用できます。だからあなたは次のようなものを書きます

 var checkbox = $('#<%=notify.ClientID%>');

<%=notify.ClientID%> は、コントロールの最終的にレンダリングされた ID を出力し、入力は次のようになります。

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

asp.net 4 では、静的 ID を使用して ClientID を回避することもできますが、同じページで同じコントロール ID を複数回使用しないように注意してください。詳細については、http: //msdn.microsoft.com/en-us/library/1d04y8ss.aspxをご覧ください。

于 2010-11-03T08:10:32.967 に答える
0

チェックボックス サーバー コントロール名が notifyemailaddress である場合、これを使用します。

var textfield = $('#<%= notifyemailaddress.ClientID %>');
于 2010-11-03T08:11:09.193 に答える