JQuery: как проверить переключатель? - PullRequest
0 голосов
/ 01 октября 2010

Так что, если эта переменная qstring установлена, то мне нужно проверить определенную радиокнопку

Я попробовал следующее:

$("#AcctRB").attr('checked', 'checked');
$('input[id=AcctRB]:eq(1)').attr('checked', 'checked');

, которая не работает.У меня может быть синтаксическая ошибка

Вот значение rb:

<input type="radio" onclick="accountShow()" id="AcctRB" runat="server" name="GuestAndAccountRB" enableviewstate="true" />Account


 <% If Request.QueryString("login") = "guest" Then%> 
                 <script type= "text/javascript">
                     $(".new-accnt-ad").show("slow");
                     $(".accountPanel").hide("slow");
                     $(".guestPanel").show("slow");
                     $("#AcctRB").attr('checked', 'checked');
                 </script>
                 <%Else%>
              <script type= "text/javascript">
                  $(".new-accnt-ad").hide("slow");
                  $(".accountPanel").show("slow");
                  $(".guestPanel").hide("slow");
                  $('input[id=AcctRB]:eq(1)').attr('checked', 'checked');
              </script>

                 <% End If %>

Это просто не проверяет переключатель в любом случае, я пытался.

Ответы [ 4 ]

1 голос
/ 01 октября 2010

Держу пари, что ваши селекторы не возвращают никаких элементов, потому что это должно работать. Хотя, вероятно, чище установить значение true в attr().

Доказательство этого работает: http://jsfiddle.net/A7Bke/

1 голос
/ 01 октября 2010
$('input[id=AcctRB]:eq(1)').attr('checked', true);
0 голосов
/ 01 октября 2010

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

Я рекомендую приобрести более продвинутый набор инструментов для браузера, такой как плагин FireBug для Firefox или использовать инструменты разработчика Chrome. Попробуйте селекторы jQuery в окне консоли, которое они предоставляют, и посмотрите, соответствуют ли результаты вашим ожиданиям. Эти инструменты также позволяют вам устанавливать точки останова в вашем коде JavaScript, чтобы видеть, вызывается ли селектор браузером.

Обновление: Чтобы проверить селекторы jQuery в Firebug, включите вкладку «Консоль», а затем просто напечатайте селектор. Консоль ответит теми элементами, которые были выбраны вызовом jQuery.

0 голосов
/ 01 октября 2010

JS может работать до того, как будут созданы все элементы.Проверить: $ (документ) .ready () :

$(document).ready(function() {
   // put all your jQuery goodness in here.
});

Это также не обязательно делать с помощью JavaScript;просто добавьте его непосредственно в HTML, в зависимости от QueryString("login").

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...