如何检查班级中的任何下拉列表是否为空?

时间:2016-05-26 08:55:25

标签: javascript jquery html

我有多个出生日期下降日(日,月,年)。如果其中任何一个为null,我怎么能有一个div节目?

我尝试过这样的事情

if ($(".MyClass").val() === "") {
    $("#showDiv1").show();
} else {
    $("#showDiv1").hide();
}

使用像

这样的div
<div id="showDiv1">
  My Div
</div>

<select>
  <option value="">Choose Value..</option>
  <option value="1">1</option>
  <option value="2">2</option>
  <option value="3">3</option>
  <option value="4">4</option>
</select>

<select>
  <option value="">Choose Value..</option>
  <option value="A">A</option>
  <option value="B">B</option>
  <option value="C">C</option>
  <option value="D">D</option>
</select>

如果它只是一个选择而不是多个选择,这似乎才有效。

谢谢,

小提琴:https://jsfiddle.net/62a1pdsk/

6 个答案:

答案 0 :(得分:2)

这样可以解决问题:

$('.MyClass').change(function() {
  $('#showDiv1').toggle(!!$('.MyClass').filter(function() {
    return !this.value;
  }).length);
});

-jsFiddle-

答案 1 :(得分:1)

您需要过滤掉所有没有值的元素,然后使用返回元素的计数作为显示隐藏div的条件:

 var unselectedmyclass = $(".MyClass").filter(function(){return $(this).val() == ""});
 if ( unselectedmyclass.length) {
   $("#showDiv1").show();
 }else{
   $("#showDiv1").hide();
 }

<强> Working Demo

答案 2 :(得分:1)

&#13;
&#13;
// Add your javascript here
$(function() {


  function ValidateSelect() {
    var isValid = true;
    $(".MyClass").each(function() {
      if ($(this).val() === "") {
        isValid = false;
      }

    });
     return isValid;
  }
 
  $(".MyClass").change(function() {
    if (ValidateSelect()) {
      $("#showDiv1").hide();
    } else {
      $("#showDiv1").show();
    }

  })


});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<div id="showDiv1">
My Div
</div>

    <select class="MyClass"> 
    <option value="">Choose Value..</option>
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    <option value="4">4</option>
    </select>

    <select class="MyClass">
    <option value="">Choose Value..</option>
    <option value="A">A</option>
    <option value="B">B</option>
    <option value="C">C</option>
    <option value="D">D</option>
    </select>
  </body>
&#13;
&#13;
&#13;

$(function() {


  function ValidateSelect() {
    var isValid = true;
    $(".MyClass").each(function() {
      if ($(this).val() === "") {
        isValid = false;
      }

    });
     return isValid;
  }
  debugger;
  $(".MyClass").change(function() {
    if (ValidateSelect()) {
      $("#showDiv1").hide();
    } else {
      $("#showDiv1").show();
    }

  })

});

答案 3 :(得分:1)

试试这个

&#13;
&#13;
$("select").change(function() {
  var flag = 0;
  $("select").each(function(a, b) {
    if ($(this).val() == "") {
      flag = 1;
    }
    flag == 1 ? $("#showDiv1").show() : $("#showDiv1").hide();
  });
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="showDiv1">
  This div is display if any dropdown value is ""
</div>

<select>
  <option value="">Choose Value..</option>
  <option value="1">1</option>
  <option value="2">2</option>
  <option value="3">3</option>
  <option value="4">4</option>
</select>

<select>
  <option value="">Choose Value..</option>
  <option value="A">A</option>
  <option value="B">B</option>
  <option value="C">C</option>
  <option value="D">D</option>
</select>
&#13;
&#13;
&#13;

答案 4 :(得分:0)

试试这个

 $("select").on("change",function(){
   var a = $("select:first").val();
    var b =$("select:last").val();
    if(a=="" || b=="" )
      $("#showDiv1").show();
    else
     $("#showDiv1").hide();

  });

https://jsfiddle.net/62a1pdsk/

答案 5 :(得分:0)

试试这个:

&#13;
&#13;
$(".myclass").change(function() {
if($(".myclass").val()===""){          
    $("#showDiv1").show();
   } else {
  $("#showDiv1").hide();
   } 

});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="showDiv1">
  My Div
</div>

<select class="myclass">
  <option value="">Choose Value..</option>
  <option value="1">1</option>
  <option value="2">2</option>
  <option value="3">3</option>
  <option value="4">4</option>
</select>

<select class="myclass">
  <option value="">Choose Value..</option>
  <option value="A">A</option>
  <option value="B">B</option>
  <option value="C">C</option>
  <option value="D">D</option>
</select>
&#13;
&#13;
&#13;