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

Вот код 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") 

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

Спасибо.

Ответы [ 2 ]

2 голосов
/ 03 марта 2010
if ( ($(this).attr('checked') == true) && ($(this).val() == "HB") )

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

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

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

0 голосов
/ 03 марта 2010

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

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