как проверить, существует ли каждое поле ввода по идентификатору, а затем проверить, не отключено ли это поле ввода, а затем выполнить цикл в jquery?

#jquery

#jquery

Вопрос:

Как я могу проверить 5 полей ввода по идентификаторам, и если они существуют и не отключены, то выполните цикл в jquery.

Я хочу включить, если поле ввода существует, код также для всех полей ввода в следующий код:

 $("#cf_2693809:not(:disabled), #cf_2693816:not(:disabled), #cf_2693823:not(:disabled), #cf_2693830:not(:disabled),#cf_2693837:not(:disabled)").each(function(){ .... }  

Ответ №1:

Учесть следующее.

 var myIds = [  "cf_2693809",  "cf_2693816",  "cf_2693823",  "cf_2693830",  "cf_2693837" ]; $("input:not(:disabled)").each(function(index, element) {  if (myIds.indexOf($(element).attr("id")) gt;= 0) {  // Do the thing  } });  

Это повторяет каждый input элемент, которого нет disabled , и если его идентификатор находится в массиве, он что-то сделает.

Вы также можете попробовать лучший селектор.

 $("#cf_2693809, #cf_2693816, #cf_2693823, #cf_2693830, #cf_2693837").not(":disabled").each(function(){ ... });  

Пример

 $(function() {  $("#cf_2693809, #cf_2693816, #cf_2693823, #cf_2693830, #cf_2693837").not(":disabled").each(function() {  console.log("Found "   $(this).attr("id"));  }); }); 
 lt;script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"gt;lt;/scriptgt; lt;divgt;  lt;input type="text" id="cf_2693808" /gt;  lt;input type="text" id="cf_2693809" disabled /gt;  lt;input type="text" id="cf_2693816" /gt;  lt;input type="text" id="cf_2693823" /gt;  lt;input type="text" id="cf_2693830" /gt;  lt;input type="text" id="cf_2693837" /gt;  lt;input type="text" id="cf_2693840" /gt; lt;/divgt; 

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

1. Спасибо. У меня есть 200 ящиков ввода, и с вашим подходом я получу их все, если они не отключены ($(«ввод:не(:отключен)»).каждый…..), что не очень плохо.

2. @KarimAli, тогда может быть целесообразен второй метод.