2017-01-14 1 views
0
<asp:CheckBox runat="server" ID="checkbox1" /> 

Всякий раз, когда я проверить или снимите флажок моего жереха, он должен инициировать событие в JavaScript, но это, кажется, как функция .click не срабатывает. Неверное событие .click?ASP Checkbox вызвать событие в JavaScript, когда он щелкнул

$(document).ready(function() { 
    $("#checkbox1").click(function (e) { 
     if (this.checked) { 
      //do something 
     } 
     else { 

     } 
    }); 
}); 
+0

проверить, используете ли вы основную страницу, тогда идентификатор 'checkbox1' не будет работать, вы должны дать элементу некоторый класс и в javascript использовать этот селектор классов. –

ответ

0

Вы, вероятно, нужно изменить

$("#checkbox1").click(function (e) { 

в

$("#<%= checkbox1.ClientID %>").click(function (e) { 

asp.net переименовал идентификаторы элементов управления, чтобы убедиться в отсутствии дубликатов. Если вы проверите источник HTML, он может выглядеть примерно так: ContentPlaceHolder1_checkbox1. Вот почему jQuery не может его найти.

+0

Это работает! Большое спасибо ! : D – Student

0

Я надеюсь, что это сработает для вас. Для динамически созданного element вы должны использовать event delegation, если вы хотите выбрать по атрибуту, вы можете использовать attribute equals selector.

$(document).on("change", "input[name='member']", function() { 
       alert("CheckBox Changed."); 
       if (this.checked) {alert("CheckBox checked.");} 
       else{alert("CheckBox not checked.");} 
      }); 

ИЛИ

$(document).on("change", "$('#<%=checkbox1.ClientID%>')", function() { 
       alert("CheckBox Changed."); 
       if (this.checked) {alert("CheckBox checked.");} 
       else{alert("CheckBox not checked.");} 
      }); 

Вот ссылка, и перейдите по этой ссылке JS Fiddler