我选择了出生日期字段,并希望根据选择设置一些限制。
因此,我有所有选择字段的选项下拉列表。
如果有人选择2010年作为年份,则应禁用9-12个月。但是我被困了,因为每次做出选择时我都无法让脚本加载年份的值。它仅在页面加载时触发,当我选择年份时没有任何反应,它应该输出" alert" (在我的例子中)。
选择
<select name="student_birth_year[]" class="birth_year">
<option>1900</option>
<option>1901</option>
<option>1902</option>
<option>....</option>
<option>2010</option>
</select>
<select name="student_birth_month[]" class="birth_month">
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>...</option>
<option>12</option>
</select>
<select name="student_birth_day[]" class="birth_day">
<option>1</option>
<option>2</option>
<option>3</option>
<option>...</option>
<option>31</option>
</select>
JQUERY:
$('.s_dob').on("change", ".birth_year" , function() {
var birth_year=$(this).val();
alert( this.value );
if(birth_year==2010){
$('.birth_month option').prop('disabled',true);
}
});
非常感谢任何帮助。谢谢。
答案 0 :(得分:0)
使用简单的选择元素时,您会遇到一些问题,因为不同的月份有不同的天数。考虑使用现成的解决方案:Combodate。
不幸的是,Combodate没有禁用API功能。但你总是可以使用jQuery来做到这一点:
$('.combodate').on("change", ".year-select" , function() {
var year = $(this).val();
if(parseInt(year)===2010){
for(i = 9; i <= 12; i++) {
$('.combodate .month-select option[value="'+i+'"]').attr('disabled','disabled');
}
}else{
$('combodate .month-select option').removeAttr('disabled');
}
});