Скрытие/отображение ячеек таблицы с помощью JQuery в зависимости от ASP.NET RadioButtonList

Вот код jquery, который скрывает мои ячейки таблицы с идентификатором .style2:

 $('#myRadioButtonList').change(function() {

    if ($(this).attr('checked') == true && $(this).val() == "HB") {
        $('.style2').hide("slow");
    };
   });

а вот мой список радиокнопок

     <asp:RadioButtonList ID="myRadioButtonList" runat="server">
         <asp:ListItem Selected="True" Value="HB">None</asp:ListItem>
         <asp:ListItem Value="HOBSKS">Service </asp:ListItem>
         <asp:ListItem Value="OBAKS">Open Service</asp:ListItem>
         <asp:ListItem Value="BBKS">Close Service</asp:ListItem>
     </asp:RadioButtonList>

меня вдохновляет эта тема

Использование JQuery с RadioButtons для скрытия/отображения строк таблицы

Таким образом, мой jquery не работает, в части есть ошибки

if ($(this).attr('checked') == true && $(this).val() == "HB") 

Я попробовал только эти два условия выше, и они оба не работают. Мне нужно добраться до моих радиокнопок, но, похоже, я не могу. Тогда как мне написать эту часть, чтобы мой код работал.

Спасибо.


person stckvrflw    schedule 03.03.2010    source источник


Ответы (2)


if ( ($(this).attr('checked') == true) && ($(this).val() == "HB") )

Логический оператор, вероятно, сделал это, как #2371666">Дэвид так хорошо сказал, но также хорошо ставить () вокруг любых фраз, которые могут сбить с толку ваш мозг или браузер.

update О, ваш $(this) указывает на список, а не на элементы списка. Попробуйте изменить свой селектор, чтобы он соответствовал выходным данным HTML для элементов, которые изменятся.

обновление 2 Похоже, вам нужно изменить исходный селектор. Прямо сейчас вы прослушиваете изменения в таблице/списке в целом — вы хотите прослушивать изменения во всех переключателях в списке. Поэтому попробуйте $("#myRadioButtonList input[type=radio]").

person Community    schedule 03.03.2010
comment
Нет того факта, что два условия в операторе if не работают, когда они одни. - person stckvrflw; 03.03.2010
comment
@stckvrflw Обновлено. Я не знаю, какой HTML-вывод у вас есть, так что я могу быть конкретным. - person ; 03.03.2010
comment
Попробуйте изменить свой селектор, чтобы он соответствовал выходным данным HTML для элементов, которые изменятся. На самом деле это та часть, которую я не мог сделать. Что вы подразумеваете под выводом html, мой вывод html - это вывод по умолчанию, сгенерированный asp.net, с приведенным выше кодом списка радиокнопок. - person stckvrflw; 03.03.2010
comment
Вы можете обновить свой вопрос, чтобы указать, что вы сказали нам здесь. А именно, измените & на && и скажите, что селекторы не работают. Я не занимаюсь конкретно ASP.NET, только jQuery и HTML. Я могу сказать некоторые вещи, но не все. Поскольку вы точно знаете, что вы хотите, чтобы выражение if означало, не могли бы вы просто написать это в стиле псевдокода? - person ; 03.03.2010
comment
@stckvrflw Посмотрите мое второе обновление, прежде чем пройти через все это. Удачи! - person ; 03.03.2010
comment
Хорошо, я обновляю свой вопрос, кстати, я спрошу кое-что не специально к вам, а вообще. Если вопрос опускается слишком низко на главной странице stackoverflow, это действительно убивает вопрос, и вы не получаете никакого представления или других ответов, и даже обновление не работает, чтобы вопрос вернулся к жизни, я не буду используйте награду, так как я знаю, что еще не так много людей видели вопрос, я имею в виду, что это не такой уж сложный вопрос, чтобы использовать награду, тогда что кто-то должен делать? - person stckvrflw; 03.03.2010
comment
Обновление самого вопроса обычно возвращает его наверх. - person ; 03.03.2010
comment
Я этого не знал. Спасибо. Теперь буду искать ваше второе обновление. - person stckvrflw; 03.03.2010

Возможно, вы используете один «&», попробуйте «&&» для логического оператора

if ($(this).attr('checked') == true && $(this).val() == "HB") 
person Dave Archer    schedule 03.03.2010
comment
Два условия в операторе if не работают, когда они одни, например, if ($(this).val() == HB) также не работает. Если я удаляю if, он скрывает ячейки. - person stckvrflw; 03.03.2010