отключенное текстовое поле - PullRequest
1 голос
/ 03 ноября 2010

Я написал этот кусок кода.но это для html checkbox и txtbox.Я хочу, чтобы HV ту же функциональность с 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>

Ответы [ 2 ]

1 голос
/ 03 ноября 2010

Вам нужно найти правильный идентификатор на asp.net и для этого вы можете использовать ClientID ваших элементов управления asp.net. Итак, вы пишете что-то вроде

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

Где <% = notify.ClientID%>, выводит окончательный обработанный идентификатор вашего элемента управления, а вход выглядит как

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

На asp.net 4 у вас также есть возможность использовать статический идентификатор, чтобы даже избежать идентификатора клиента, но старайтесь не использовать один и тот же контрольный идентификатор более одного раза на одной странице. Вы можете прочитать больше на: http://msdn.microsoft.com/en-us/library/1d04y8ss.aspx

0 голосов
/ 03 ноября 2010

Если вы отметили имя сервера управления флажком notifyemailaddress, тогда используйте это:

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