我有一个菜单,当从中选择一个值时,可以启用其他菜单,可以选择一个月(开始月份和结束月份)。我想补充一点,即月末不能在开始月份之前的限制,我不知道如何去做。
这是jsfiddle:
这样的事可能吗?
$("#recurBegin").change(function(){
var begin = $("#recurBegin option:selected").attr("value");
//disable options in #recurEnd where the value is less than that of #recurBegin.
}
});
答案 0 :(得分:1)
var end = $('#recurEnd');
$('#recurBegin').change(function () {
var index = $(this).find('option:selected').index();
end.find('option').show();
end.find('option:lt(' + index + ')').hide();
});
<小时/> .index()
答案 1 :(得分:1)
我认为这会给你你想要的东西。
HTML:
<div class="col-sm-9">
<select name="catFrequency" id="catFrequency" onchange="toggleAnnual();">
<option value="0">Monthly</option>
<option value="1">Annual</option>
</select>
</div>
<div class="col-sm-8">
<select name="monthSelect" id="recurBegin" value="Select Month">
<option value='' selected></option>
<option value='01'>January</option>
<option value='02'>February</option>
<option value='03'>March</option>
<option value='04'>April</option>
<option value='05'>May</option>
<option value='06'>June</option>
<option value='07'>July</option>
<option value='08'>August</option>
<option value='09'>September</option>
<option value='10'>October</option>
<option value='11'>November</option>
<option value='12'>December</option>
</select>
</div>
<div class="col-sm-3 clearfix">
<label class="control-label">Ending Month:</label>
</div>
<div class="col-sm-9">
<select name="monthSelect" id="recurEnd" value="Select Month">
</select>
</div>
的javascript:
$("#recurBegin").change(function(){
$("#recurEnd").empty();
var add = false;
$("#recurBegin option").each(function(i, val){
if($(this).is(':selected')) add = true;
if(add){
$("#recurEnd").append($(this).clone());
}
});
});
看到这个小提琴:http://jsfiddle.net/PpESb/
答案 2 :(得分:0)
您可以使用选项索引:
$("#recurBegin").change(function () {
var begin = $(this).find('option:selected').index();
$('#recurEnd').find('option').prop('disabled', false).filter(':lt(' + begin + ')').prop('disabled', true);
$('#recurEnd').val(function(){return $(this).find('option:enabled:first').val()});
});