0

我使用过滤器功能浏览了一个类列表。如果下拉列表为空,则添加错误样式。

问题。 如果满足条件,我想隐藏并显示其他 div id,即如果所有下拉列表都包含选定的值

这是我将样式添加到空下拉列表的代码

 $(".dropdown_select").filter(function(){
 return $(this).val() == "";
 }).css("border-color", "#FF0000");

但是我该如何隐藏和显示另外两个 div id?即只有当所有下拉列表都被填满时,我想

$(".step-2").fadeIn("slow");
$(".step-1").fadeOut("slow");
4

2 回答 2

1
var $children = $(".dropdown_select").children();

if($children.length === $children.filter(".dropdown_select").length) {
   $(".step-2").fadeIn("slow");
   $(".step-1").fadeOut("slow");
}
于 2013-03-11T12:18:16.693 回答
1

对于样式,我建议使用toggleClass()函数参数而不是filter()and css()

$(document).on("change", ".dropdown_select", function () {
  var $emptyOnes = $(".dropdown_select")
                   .filter(function () { return this.value == ""; });

  if ($emptyOnes.length == 0) {
    $(".step-1").fadeOut("slow");
    $(".step-2").fadeIn("slow");
  } 

  $(this).toggleClass("empty", this.value == "");
});

Tre CSS 定义如下:

.empty {
  border-color: #FF0000;
}
于 2013-03-11T13:07:36.590 回答