2010-10-18 5 views

ответ

4

Вы не могли проверить, что ни один из них не проверены:

if ($('.myClass:checkbox:not(:checked)').length > 0) { 
    // Not all checked 
} 

неправильно. Проверьте это demo на JsFiddle:

$(function() { 
    $('input').change(function() { 
     var $all = $(':text.myClass'); 
     var $empty = $all.filter('[value=""]'); 

     if ($empty.length == 0) { 
      $('#out').text('none empty'); 
     } else if ($all.length == $empty.length) { 
      $('#out').text('all empty'); 
     } else { 
      $('#out').text('partial') 
     } 
    }); 
}); 

должно дать вам намек на возможный подход к решению.

+2

пожалуйста прочитайте вопрос внимательно я волнуюсь о текстовом поле не CheckBox вы понимаете? – 2010-10-18 11:30:44

+1

@ 4thpage: Вы так часто писали «чек», что я сам читал «checkbox», пока не отредактировал формулировку вопроса. – Tomalak

3
if ($('input:text.myClass[value=""]').length > 0) 
{ 
    // you have some text boxes which are empty 
} 
+0

подходит VQ = $ (". Quan"). Each (function (index) { if ($ (this) .val() == "") {result == false;} }); – 2010-10-18 11:36:40

+0

Если вы хотите что-то сделать на итерации, перейдите к функции '.each()'. – rahul

+0

Вышеприведенный код будет фильтровать входы текста типа, класса myclass и пустых значений. – rahul

1

См. Это, надеюсь, что это поможет. Также приведенный ниже код будет применять $ .trim(), так что входы, заполненные пробелом, будут считаться пустыми.

$("input.myClass").each(function(){ 
    if($.trim($(this).val()) == ""){ 
     // if you reach this then at least one textfield is not filled. 
     // so this is where you decide what to do (for example, assign FALSE to a 'all_textfileds_filled' variable) 
    } 
}); 

Приветствие

+0

Нет, я просто переместил неуместную скобку, ср. [Изменения] (http://stackoverflow.com/posts/3958806/revisions). Вы передали '$ (this) .val() ==" "' to '$ .trim()' :) – jensgram

+0

Спасибо за решения, люди - работали по назначению! –

Смежные вопросы