我正在使用三个下拉控件来要求用户选择出生日期并验证选择后的日期我在所有三个下拉“onChange”事件上调用了 Java 脚本代码。
如果选择的日期超过该月的最大日期,该功能会检查月份的最大日期并将日期设置为下拉菜单。
它可以工作,但不显示当前选择。下面是完整的javascript代码:
function CheckValidDate() {
var getMonthControl = document.getElementById('<%= ddlBirthdateMonth.ClientID %>');
var SelectedMonth = getMonthControl.options[getMonthControl.selectedIndex].value;
var getYearControl = document.getElementById('<%= ddlBirthdateYear.ClientID %>');
var SelctedYear = getYearControl.options[getYearControl.selectedIndex].value;
var getDateControl = document.getElementById('<%= ddlBirthdateDate.ClientID %>');
var SelctedDate = getDateControl.options[getDateControl.selectedIndex].value;
if (SelectedMonth > 0 && SelctedYear > 0 && SelctedDate > 0) {
var month = SelectedMonth;
var NewDate = new Date(SelctedYear, month, 0);
var MonthMax = NewDate.getDate();
if (MonthMax <= SelctedDate) {
setDropDownList(getDateControl, MonthMax);
}
}
return false;
}
function setDropDownList(elementRef, valueToSetTo) {
var isFound = false;
for (var i = 0; i < elementRef.options.length; i++) {
if (elementRef.options[i].value == valueToSetTo) {
elementRef.options[i].selected = true;
isFound = true;
}
}
if (isFound == false)
elementRef.options[0].selected = true;
}
在“elementRef.options[i].selected = true;”行之后 我已经发出警报并检查了值的选择是否完美但没有显示在页面上。
有人可以帮忙吗?
谢谢, 达瓦尔