Правило проверки Jquery — как потребовать, чтобы параметр был выбран перед проверкой

#jquery #jquery-validate #selected

#jquery #jquery-проверка #выбрано

Вопрос:

Я хочу, чтобы некоторые входные данные проверялись, только если выбран определенный параметр в выпадающем списке. Для radiobutton это делается с помощью такого правила:

required : "#radioId:checked"

Как это можно сделать для параметра из выпадающего списка?

Ответ №1:

Если memoery работает, у вас может быть обратный вызов, который возвращает, выбран ли параметр, который вы хотите видеть выбранным:

 required: function(element) {
    return $("#selectID>option:selected").val() == 18;//or whatever value you require
  }
  

Комментарии:

1. Я нашел еще более простое решение: требуется: «#option1Id:выбрано»

Ответ №2:

Другим вариантом может быть написание собственного селектора:

     $.extend($.expr[":"], {
    myselector: function (e)
    {
        return $(e).val() == 'mine';
    }
});
  

Селектор:

 required : '#test:myselector'
  

Ответ №3:

Вы можете использовать средство проверки зависимостей с чем-то вроде:

 <select name="selectBox" id="selectBox">
 <option value="option1">Option 1</option>
 <option value="option2">Option 2</option>
</select>

<input type="text" name="inputBox" />

----------------------in your rules do---------------------

 inputBox: {
   depends: function (elt) {
     return $('#selectBox').val() === "option1"; 
     // option1 being the targeted option here
   }
 }