仅隐藏选择了空值的选择框

时间:2017-05-09 06:35:23

标签: jquery

我想只隐藏那些选择了空值的选择框。我有以下HTML和jQuery

<div class="form-item">
<select name="select" class="date-month">
<option value="1">Jan</option>
<option value="2">Feb</option>
<option value="3">Mar</option>
<option value="4">Apr</option>
<option value="5" selected="selected">May</option>
<option value="6">Jun</option>
<option value="7">Jul</option>
<option value="8">Aug</option>
</select>
</div>
<div class="form-item">
<select name="select" class="date-month">
<option value="" selected="selected"></option>
<option value="1">Jan</option>
<option value="2">Feb</option>
<option value="3">Mar</option>
<option value="4">Apr</option>
<option value="5">May</option>
<option value="6">Jun</option>
<option value="7">Jul</option>
<option value="8">Aug</option>
</select>
</div>

为此,我使用以下代码

$('.date-month option').each(function() {
    if (this.selected)
      $(this).parent().hide();
     else
       $(this).parent().show();
});

但它不起作用。

3 个答案:

答案 0 :(得分:1)

$(document).ready(function () {
            $('.date-month').each(function() {
                if ($(this).val()=='')
                  $(this).hide();
                 
            });
        });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="form-item">
<select name="select1" class="date-month">
<option value="">select</option>
<option value="1">Jan</option>
<option value="2">Feb</option>
<option value="3">Mar</option>
<option value="4">Apr</option>
<option value="5" selected="selected">May</option>
<option value="6">Jun</option>
<option value="7">Jul</option>
<option value="8">Aug</option>
</select>
</div>
<div class="form-item">
<select name="select2" class="date-month">
<option value="">select</option>
<option value="1">Jan</option>
<option value="2">Feb</option>
<option value="3">Mar</option>
<option value="4">Apr</option>
<option value="5">May</option>
<option value="6">Jun</option>
<option value="7">Jul</option>
<option value="8">Aug</option>
</select>
</div>

答案 1 :(得分:0)

您可以使用atrribute selector查找具有所选值的元素:

$('.date-month option[selected="selected"]').parent().hide();

显示/隐藏选择:

 $('.date-month').each(function() {
    if ($(this).find('option[selected="selected"]').length>0) {
       $(this).hide();
    } else {
       $(this).show();
    }
  });

答案 2 :(得分:0)

一行应该足够了:

[DECLARE
   <variable> <type>;
   ...]
BEGIN
   <statement>;
   ...
[EXCEPTION
    WHEN <exception> THEN
       <statement>;
       ...
    ...]
END;

https://jsfiddle.net/wh27868m/1/

相关问题