#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, тогда может быть целесообразен второй метод.