Как игнорировать выбранную отключенную опцию в выпадающем меню select multiselect - PullRequest
0 голосов
/ 11 июня 2019
<select name="purchasableId" id="multiSelect" class="metre" multiple='multiple' required> <option disabled selected value='abc'>abc</option> <option value='xyz'>xyz</option></select>

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

$("#multiSelect").validate({     
                ignore:"option:selected,disabled"
            });

Ответы [ 2 ]

0 голосов
/ 12 июня 2019

Получил решение, добавив правило

$( "#selector_id" ).rules( "add", {
              required: function() {
                    var opion_selected_required =true;  //if selected option not found fire validation required
                    $('#selector_id option').each(function() {
                        if($(this).is(':selected'))
                        {
                            opion_selected_required = false; //if selected option found do not fire validation required (where option disabled or enabled no matter)
                        }
                    });
                    return opion_selected_required;                              
                }
            });
0 голосов
/ 12 июня 2019

Вы можете попробовать сделать это так:

//Use form id
$("#form").validate({
   ignore: ".no-validate"
})

Затем добавьте класс к вашему выбору:

<select name="purchasableId" id="multiSelect" class="metre no-validate" multiple='multiple' required> <option disabled selected value='abc'>abc</option>
<option value='xyz'>xyz</option>
</select>

См. Скрипку здесь https://jsfiddle.net/designtocode/3ok1ratu/6/

...