2013-02-18 2 views
0
$("select").bind("change", function(event) { 
    if ("" != $("option:selected", this).val() && "" != $("option:selected", $("select")).val()) { 
     $("#submit").fadeIn(); 
    } else { 
     $("#submit").hide();   
    } 
}); 

У меня есть семь selectboxes и кнопка отправки в форме. Я хочу показать кнопку отправки только для всех выбранных наборов (некоторые из них имеют опцию по умолчанию без значения, кнопка должна быть активной, только если выбранные параметры содержат значение). Использовал этот код, но он не работал после того, как я начал получать четыре из selectboxes из другого php-файла с ajax.кнопка jquery show, если выбраны все selectboxes

Как я могу пересмотреть этот код?

ответ

0

Вы можете использовать свойство длины с селектором возвращение selected выбрать с выбранным значением не равных empty строки.

$("select").bind("change", function(event) { 
    if($("select:selected[value!='']").length == $("select").length) 
     $("#submit").fadeIn(); 
    else 
     $("#submit").hide(); 
}); 

Я хотел бы предложить вам использовать некоторые class с выбором быть конкретными.

$(".select-class").bind("change", function(event) { 
    if($(".select:selected[value!='']").length == $(".select").length) 
     $("#submit").fadeIn(); 
    else 
     $("#submit").hide(); 
}); 
+0

насчет умолчанию пустые значения? – milesh

+0

Селектор атрибутов будет проверять значение, например [значение! = ''], Обновил мой ответ. – Adil

0

Попробуйте это:

$("select").bind("change", function(event) { 
    if($("select:selected[value!='']").length == $("select").length) 
     $("#submit").fadeIn(); 
    else 
     $("#submit").hide(); 
}); 
Смежные вопросы