JQuery "Изменить" обработчик событий для asp.net radioobuttonlist не запускает событие

Я связал обработчик события Change для ASP.NET radobuttonlist как это в обработчике ready() в JQuery следующим образом:

$("#<%=rblYesNo.ClientID%>").change(MyFunction);

Когда я выбираю один из переключателей, MyFunction не вызывается. Почему?

Ответ 1

Помните, что список радиокнопок не имеет ни одного идентификатора. Радиокнопки связаны друг с другом своим ИМЯ. Если я помню, rblYesNo.ClientID, вероятно, будет просто div, который обертывает переключатели. Попробуйте:

$("#<%=rblYesNo.ClientID%> input").change(function(){

});

Ответ 2

У IE есть проблема с событием "change" на переключателях, попробуйте использовать вместо этого:

$("#<%=rblYesNo.ClientID%>").click(MyFunction);

Ответ 3

$(document).ready(function() {
  $('#&lt%=rblYesNo.ClientID%&gt input[type="radio"]').each(function() {
                $(this).click(function() {
                alert((this).value);
            });
  });
 });

Ответ 4

$( "# <% = rblYesNo.ClientID% > input" ). change (function() { });

и

$( "# <% = rblYesNo.ClientID% > " ) нажмите (Моя_функция);.

он может работать на простой странице. что, если на странице есть вкладка AjaxControlToolkit TabPanel? это не сработает. Поскольку список переключателей будет на другой вкладке, поэтому он найдет jquery, и событие не сможет зарегистрировать.