Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Если один из элементов равен "none" (https://javascript.ru/forum/misc/81315-esli-odin-iz-ehlementov-raven-none.html)

maplol123@gmail.com 08.11.2020 17:59

Если один из элементов равен "none"
 
Здравствуйте, как сделать так, если один из элементов массива values равен "NONE", то submit неактивен? С проверкой в реальном времени
let text = [
    {
      bag_param: "NONE",
      bag_type: "NONE",
      bag_print: ["NONE", ""],
      bag_height: $("#param_0 option:selected").text(),
      bag_width: $("#param_1 option:selected").text(),
      bag_sidewall: $("#param_2 option:selected").text(),
      bag_bottom: $("#param_3 option:selected").text(),
      bag_hangle_length: $("#param_4 option:selected").text(),
      bag_density: $("#param_5 option:selected").text(),
      bag_color: "NONE",
      bag_count: $("#count_range").text(),
      email: "",
    },
  ];

Тут присваивание значений чекбоксов и радио в список text, затем
let values = Object.values(text[0]);
  for (let i = 0; i <= 11; i++) {
    if (values[i] != "NONE") {
      $("input[type='submit']").attr("disabled", false);
    } else {
      $("input[type='submit']").attr("disabled", "disabled");
    }
  }

laimas 08.11.2020 18:14

$("input[type='submit']").prop("disabled", /NONE/.test(JSON.stringify(text)));

вместо let values = Object.values(text[0]); ....

disabled, это свойство, и нужно использовать функцию .prop(), а не .attr(). И свойству как-то по барабану, что ему в качестве значения пишут, главное что оно возвращает булевым значением. То есть, станет disabled даже если так указать - .prop("disabled", "Не высовывайся") и все что угодно.

maplol123@gmail.com 08.11.2020 18:29

laimas, спасибо большое, запомнил)


Часовой пояс GMT +3, время: 00:03.