Проверьте, проверяется ли определенный переключатель

Я испытываю затруднения после рассмотрения документов jQuery. Я просто пытаюсь возвратить true в моих своих методах jQuery в зависимости от проверки определенного переключателя и если это выбрано или нет

Я попробовал несколько вещей, но не смог разобраться в этом:

<input type="radio" runat="server" name="testGroup" id="test1" /><label for="<%=test1.ClientID %>" style="cursor:hand" runat="server">Test1</label>
<input type="radio" runat="server" name="testGroup" id="test2" /><label for="<%=test2.ClientID %>" style="cursor:hand" runat="server">Test2</label>
<input type="radio" runat="server" name="testGroup" id="test3" /> <label for="<%=test3.ClientID %>" style="cursor:hand">Test3</label>

и в моем методе у меня есть это:

return $("input[@name='test2']:checked");

Я надеваю неопределенное $("input[@name='test2']:checked");

ОБНОВЛЕННЫЙ:

пример:

<input type="radio" runat="server" name="radioGroup"  id="payPalRadioButton" value="paypalSelected" /> 

это возвращается 'неопределенный' все еще:

$("input[@name=radioGroup]:checked").attr('payPalRadioButton'); 

Если я пробую это, я получаю 'ложь', даже если я устанавливаю переключатель:

$('input:radio[name=radioGroup]:checked').val() == 'paypalSelected'
35
задан Jon Schneider 31 January 2017 в 15:29
поделиться

5 ответов

Ваш селектор не выбирает поле ввода, и если бы он это сделал, он вернул бы объект jQuery. Попробуйте следующее:

$('#test2').is(':checked'); 
71
ответ дан 27 November 2019 в 06:48
поделиться

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

т.е.

<input type="radio" runat="server" name="testGroup" value="test2" />

return $('input:radio[name=testGroup]:checked').val() == 'test2';
6
ответ дан 27 November 2019 в 06:48
поделиться

1. Вам больше не нужен префикс @ для имен атрибутов:

http://api.jquery.com/category/selectors/attribute-selectors/ :

Примечание. В jQuery 1.3 [@attr] style селекторы были удалены (это были {{ 1}} ранее не рекомендуется в jQuery 1.2). Просто удалите символ '@' из селекторов , чтобы они снова заработали .

2. Ваш селектор запрашивает переключатели по имени , но этот атрибут не определен в вашей структуре HTML.

4
ответ дан 27 November 2019 в 06:48
поделиться

Вы должны удалить '@' перед 'name'; он больше не нужен (для текущих версий jQuery).

Вы хотите вернуть все отмеченные элементы с именем 'test2', но у вас нет элементов с таким именем, вы используете id из 'test2'.

Если вы собираетесь использовать идентификаторы, просто попробуйте:

return $('#test2').attr('checked');
0
ответ дан 27 November 2019 в 06:48
поделиться

Зачем возиться со всеми навороченными селекторами? Если вы правильно используете эти атрибуты id = "", тогда 'test2' должен быть единственным тегом с этим идентификатором на странице, тогда логическое свойство .checked сообщит вам, отмечен он или нет:

if ($('test2').checked) {
    ....
}

также не устанавливайте никаких значений для этих переключателей, поэтому независимо от того, какую кнопку вы выберете, вы просто получите пустой "testGroup =", отправленный на сервер.

0
ответ дан 27 November 2019 в 06:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: