我使用上面的代码工作了,感谢SO的帮助。但是,我想对其进行修改,以便当用户从月份开始菜单中选择“12月”时,月末菜单将被禁用并显示“12月”。
此外,如果用户返回并选择月份开始菜单中的其他月份,我想再次启用月末菜单。
我一直在尝试使用各种if语句,但我似乎无法使用我公认的有限技能。
谢谢!
$("select[name='monthSelect']").attr('disabled', 'disabled');
$("select[name='catFrequency']").change(function () {
var jSelect1=$("select[name='monthSelect']");
if(jSelect1.attr('disabled')) {
jSelect1.removeAttr('disabled');
$('#recurBegin').find("option[value='']").remove();
$('#recurEnd').find("option[value='']").remove();
$('#recurEnd').find("option[value='12']").prop('selected', true);
}
else
{
jSelect1.attr('disabled', 'disabled');
$("#recurBegin").prepend("<option value='' selected='selected'></option>");
$("#recurEnd").prepend("<option value='' selected='selected'></option>");
}
});
var end = $('#recurEnd');
$('#recurBegin').change(function () {
var index = $(this).find('option:selected').index();
end.find('option').show();
end.find('option:lt(' + (index + 1) + ')').hide();
});
});
答案 0 :(得分:1)
var end = $('#recurEnd');
$('#recurBegin').change(function () {
if (this.value == 12) {//if month selected is December
end.val(12);// set End month to December
end.prop('disabled', true);//disable month end
} else {
var index = $(this).find('option:selected').index();
end.prop('disabled', false);//enable month end
end.find('option').show();
end.find('option:lt(' + (index + 1) + ')').hide();
end.find('option:eq(' + ++index + ')').prop('selected', true);
}
});