erro nos campos suspensos requeridos pelo JQuery

Fiz uma function JQuery para verificar campos vazios obrigatórios dentro de uma lista suspensa personalizada fechada.

Se um campo obrigatório estiver vazio dentro de uma lista suspensa e se a lista suspensa estiver atualmente fechada, quero que a lista suspensa seja aberta e, se não houver valores vazios nos campos obrigatórios, quero que a lista suspensa seja fechada.

O problema é que os campos necessários não estão acessíveis se os menus suspensos estiverem fechados e eu tentei corrigir esse problema com essa function.

Por algum motivo, ele verifica apenas esses campos de input se o formulário for enviado pelo menos uma vez e os campos obrigatórios forem abertos pelo menos uma vez.

find(':input[required]') não fornece nenhuma saída se o menu suspenso não for aberto pelo menos uma vez, assim que você abrir e fechar o menu suspenso, a function funcionará.

Esta é a function:

 function dropdown_required() { var required = 0; $('#visible_fields').find(':input[required]').each(function () { if (!this.value) { for (var i = 1; i < 15; i++) { $('.form_' + i).find(':input[required]').each(function () { $(this).prop('required', false); }); } required++; } }); if (required == 0) { for (var i = 1; i < 15; i++) { var empty = 0; $('.form_' + i).find(':input[required]').each(function () { if(!this.value) { empty++; } }); if (empty !== 0) { if ($(".arrow_" + i).hasClass("rotate_2")) { $(".arrow_" + i).addClass("rotate_1").removeClass("rotate_2"); $(".form_" + i).fadeToggle(); } } else if ($(".arrow_" + i).hasClass("rotate_1")) { $(".arrow_" + i).addClass("rotate_2").removeClass("rotate_1"); $(".form_" + i).fadeToggle(); } } } } 

Esta é a lista suspensa:

 
//all visible input fields outside of the dropdowns
BKR toetsing open BKR toetsing accoord Vrijgesteld van BKR toetsing