根据条件隐藏选择选项

3
我有一个选择月份选项的元素。
<select class="" id="manufacturedMonth" name="manufacturedMonth">
<option value="-1">MM</option>
<option value="8">Aug</option>
<option value="7">Jul</option>
<option value="6">Jun</option>
<option value="5">May</option>
<option value="4">Apr</option>
<option value="3">Mar</option>
<option value="2">Feb</option>
<option value="1">Jan</option>
<option value="12">Dec</option>
<option value="11">Nov</option>
<option value="10">Oct</option>
<option value="9">Sep</option>
</select>

需要隐藏所有选项,如果值大于当前月份。

有成千上万的日期选择器可供使用,为什么不使用其中之一呢? - idmean
2个回答

5

您可以使用:

var d = new Date(),
mnth = d.getMonth();//get current month     
$('#manufacturedMonth option').filter(function () {
    return parseInt(this.value,10) > mnth; //return all the option element that have value greater than curremt month
}).hide();

实现示例


0
使用JavaScript来隐藏那些选项。
// get current month
var d = new Date();
var m = d.getMonth();

// get all options
var options = document.getElementsByTagName('option');
// for every option
for ( var i  = 0 ; i < options.length ; i++ ) {
    // check if its month is bigger than the current month
    if ( options[i].getAttribute("value") > m ) {
        // don't display that option
        options[i].style.display = 'none';
    }
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接