2012-03-03 4 views

ответ

6

Это один из способов:

$('input, select, textarea').each(
    function(){ 
     var val = $(this).val().trim(); 
     if (val == ''){ 
      // do stuff with the non-valued element 
     } 
    }); 

При более внимательном чтении, кажется, ОП хотел сделать что-то с непустых полей, так:

$('input, select, textarea').each(
    function(){ 
     var val = $(this).val().trim(); 
     if (val.length){ 
      // do stuff with the valued element 
     } 
    }); 
+0

отличная каждая функция выполняет цикл через – user1124535

+0

Ну, я предположил, что вы хотите итерации по всем «входам»? Каков ваш фактический прецедент? –

1
var fields = $("input, textarea, select"), i = 0; 

for(i; i < fields.length; i++){ 
    if(fields.eq(i).val() !='') { /* ... logic ... */ } 
} 
0

вы можете сделать на всех входах с типом = «текст».

$("input[type='text']").each(function(){ 
    alert($(this).val()); 
}); 

Образец HTML выглядит следующим образом

​<input type="text" name="input1" value="2"/> 
<input type="text" name="input2" value="4"/> 
<input type="text" name="input3" value="5"/>​ 

Если вы хотите включить выберите или другие входные элементы в цикле, вы можете делать то, что Дэвид Томас предложил

1

Другой подход к созданию объекта JQuery входов которые имеют значение

$("input").filter(function(){ 
    return $(trim(this.value)) !='';      
}).doSomething(); 
Смежные вопросы