ASP.Net:使用javascript进行三次下拉和出生日期选择验证

时间:2013-06-07 10:50:32

标签: javascript asp.net validation drop-down-menu

我正在使用三个下拉控件来要求用户选择出生日期并在选择后验证日期我在所有三个下拉“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;”之后我已经发出警告并检查选择的值是否完美但不在页面上显示。

任何人都可以帮忙吗?

谢谢, Dhaval

1 个答案:

答案 0 :(得分:1)

我道歉,我创建了单独的应用程序,发现它正在运行。问题在于jQuery用于主题这些下拉控件。