два # идентификатора в операторе if для флажков - PullRequest
0 голосов
/ 10 мая 2019

Я довольно новичок в Jquery, и у меня есть этот jquery, чтобы проверить, установлены ли флажки.Если нет, форма не должна выполняться.

Она работала нормально только с идентификатором #validCheck, но когда я добавил #feeCheck, это не имеет значения, когда проверяется один, форма выполняется.

я хочу, чтобы оба флажка были отмечены для выполнения формы.Если они оба не проверены, форма не должна выполняться.

  if(!($('#validCheckbox , #feeCheckbox').prop('checked')))
{
  errorMessage += "You must check the checkboxes to continue!<br/>";
  errorCounter++;
  ok = false;
  $("#errorDiv").css({"backgroundColor": "#f9f9f9", "color": "#D2002C", "padding": "10px"});
  $("#errorDiv").html(errorMessage);

}

Действительно ли мне нужно написать два отдельных оператора if для каждого флажка?

Я повторно использую скрипт для нескольких форму некоторых из них есть оба флажка, у некоторых есть только #validCheck

, может кто-нибудь помочь мне с этим.

Ответы [ 3 ]

2 голосов
/ 10 мая 2019

Jquery не выполняет логических операций над свойством объектов, поэтому вам нужно разделить селектор

if(!($('#validCheckbox').prop('checked') && $('#feeCheckbox').prop('checked')))
1 голос
/ 10 мая 2019

Да, вам нужно два отдельных запроса.Из документации ...

Получить значение свойства для первого элемента в наборе совпадающих элементов

Так что вам нужносделайте это ...

if(!($('#validCheckbox').prop('checked') && $('#feeCheckbox').prop('checked')))

В ответ на комментарии ОП к madalinivascu, следующее будет работать для ситуаций, когда #feeCheckbox не существует ...

var $feeCheckbox = $("#feeCheckbox");
if (!$("#validCheckbox").prop("checked") || ($feeCheckbox.length > 0 && !$feeCheckbox.prop("checked"))) {
  ...
}

В результате получается, что если #validCheckbox установлено в значение false, вы вводите if ... или , если найдено #feeCheckbox и установлено в значение falseвы вводите if.

. Поместив объект jquery в переменную, вам не нужно находить его несколько раз.

0 голосов
/ 10 мая 2019
if(!$('#validCheckbox').is(':checked') && !$('#feeCheckbox').is(':checked'))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...