Как изменить переменную на основе флажка во время проверки - PullRequest
2 голосов
/ 10 февраля 2010

Я успешно извлек проверенное значение из группы переключателей с помощью jQuery 1.4, используя следующий код:

var myFirstVar = $("input[name='myFirstVar']:checked").val();

Как мне изменить этот код, чтобы узнать, был ли установлен флажок, и изменить значение переменной на основе того, установлен ли он или нет.

Я пробовал много вещей, но вот пример того, что, как я думал, будет работать:

    if ($("input[name='mySecondVar']:checked")) {
     var mySecondVar = "Yes";
    }
    else {
     var mySecondVar = "No";
    }

Любое понимание простого изменения значения независимо от того, установлен флажок или нет, было бы замечательно.

Ответы [ 3 ]

2 голосов
/ 10 февраля 2010

Попробуйте это:

var mySecondVar = $("input[name='mySecondVar']:checked").length ? "Yes" : "No";
1 голос
/ 10 февраля 2010

Часть селектора «: флажок» просто сообщает jQuery, что нужно выбирать только проверенные элементы. Селекторы jQuery всегда возвращают результат (объект jQuery), поэтому простого помещения селектора в предложение if недостаточно. Вы хотите увидеть, действительно ли результат включает какие-либо элементы, поэтому $("input[name='mySecondVar']:checked").length будет работать для вашего условного предложения (поскольку Javascript интерпретирует 0 как «ложное»).

Другой подход будет

if ($("input[name='mySecondVar']")[0].checked) {
     var mySecondVar = "Yes";
    }
    else {
     var mySecondVar = "No";
    }
0 голосов
/ 20 мая 2014

Вы можете установить переменную java-скрипта в зависимости от условия.

if($("input[name='testVar']:checked").length)
  set variable
else
  set variable
...