Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/423.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何解决更改DropDownList时Javascript未捕获引用错误?_Javascript_Jquery_Asp.net - Fatal编程技术网

如何解决更改DropDownList时Javascript未捕获引用错误?

如何解决更改DropDownList时Javascript未捕获引用错误?,javascript,jquery,asp.net,Javascript,Jquery,Asp.net,我试图根据dropdownlist数据的选择设置标签文本属性。我有一个标签控件,它存储当前日期,我正在从dropdownlist中选择要添加当前日期的天数,并在另一个标签控件中显示新日期。当我这样做的时候 未捕获引用错误:未定义findDate 函数findDate(){ var selectvalid=$(“选择[id$=ddlvalid]”)。val(); 如果(selectvalid==“选择有效性”){ 警告(“请选择有效期”); } else if(selectvalid==“最多7

我试图根据dropdownlist数据的选择设置标签文本属性。我有一个标签控件,它存储当前日期,我正在从dropdownlist中选择要添加当前日期的天数,并在另一个标签控件中显示新日期。当我这样做的时候

未捕获引用错误:未定义findDate


函数findDate(){
var selectvalid=$(“选择[id$=ddlvalid]”)。val();
如果(selectvalid==“选择有效性”){
警告(“请选择有效期”);
}
else if(selectvalid==“最多7天”){
var today=新日期();
var明天=新日期(今天);
明天.setDate(今天.getDate()+7);
var dd=明天。getDate();
var mm=明天。getMonth()+1;
var y=明天。getFullYear();
var output=tomory.getFullYear()+“/”+(mm<10?'0':“”)+mm+“/”+(dd<10?'0':“”)+dd;
$(“span[id$=lblendt]”)文本(输出);
}
else if(selectvalid==“最多15天”){
var today=新日期();
var明天=新日期(今天);
明天.setDate(今天.getDate()+15);
var dd=明天。getDate();
var mm=明天。getMonth()+1;
var y=明天。getFullYear();
var output=tomory.getFullYear()+“/”+(mm<10?'0':“”)+mm+“/”+(dd<10?'0':“”)+dd;
document.getElementById(“”).innerHTML=output;
}
else if(selectvalid==“最多30天”){
var today=新日期();
var明天=新日期(今天);
明天.setDate(今天.getDate()+30);
var dd=明天。getDate();
var mm=明天。getMonth()+1;
var y=明天。getFullYear();
var output=tomory.getFullYear()+“/”+(mm<10?'0':“”)+mm+“/”+(dd<10?'0':“”)+dd;
document.getElementById(“”).innerHTML=output;
}
};
window.onload=函数(){
var d=新日期();
变量月份=d.getMonth()+1;
var day=d.getDate();
变量输出=d.getFullYear()+'/'+(月<10?'0':'')+月+'/'+(日<10?'0':'')+日;
document.getElementById(“”).innerHTML=output;
};
查询日期:
查询有效期:
选择有效性
最多7天
最多15天
最多30天
查询有效期至:

请告诉我哪里做错了?

只需在您编写的javascript中定义一个函数findDate()将其更改为
函数findDate()
也不需要再次在javascript代码中绑定
onchange
,您已经在下拉式html
onchange中绑定了它=“javascript:findDate();”

函数findDate(){
var selectvalid=$(“#ddlvalid选项:选中”).text();
如果(selectvalid==“选择有效性”){
警告(“请选择有效期”);
}
else if(selectvalid==“最多7天”){
var today=新日期();
var明天=新日期(今天);
明天.setDate(今天.getDate()+7);
var dd=明天。getDate();
var mm=明天。getMonth()+1;
var y=明天。getFullYear();
var output=tomory.getFullYear()+“/”+(mm<10?'0':“”)+mm+“/”+(dd<10?'0':“”)+dd;
document.getElementById(“”).value=output;
}
else if(selectvalid==“最多15天”){
var today=新日期();
var明天=新日期(今天);
明天.setDate(今天.getDate()+15);
var dd=明天。getDate();
var mm=明天。getMonth()+1;
var y=明天。getFullYear();
var output=tomory.getFullYear()+“/”+(mm<10?'0':“”)+mm+“/”+(dd<10?'0':“”)+dd;
document.getElementById(“”).innerHTML=output;
}
else if(selectvalid==“最多30天”){
var today=新日期();
var明天=新日期(今天);
明天.setDate(今天.getDate()+30);
var dd=明天。getDate();
var mm=明天。getMonth()+1;
var y=明天。getFullYear();
var output=tomory.getFullYear()+“/”+(mm<10?'0':“”)+mm+“/”+(dd<10?'0':“”)+dd;
document.getElementById(“”).innerHTML=output;
}
}
window.onload=函数(){
var d=新日期();
变量月份=d.getMonth()+1;
var day=d.getDate();
变量输出=d.getFullYear()+'/'+(月<10?'0':'')+月+'/'+(日<10?'0':'')+日;
document.getElementById(“”).innerHTML=output;
};
});
编辑


您已经在下拉列表中设置了
ClientIDMode=“static”
,javascript将通过准确的id找到标签

我遵循了您的建议。但是我的标签lblendt没有更改。我已经编辑了我的代码,请检查并指导我。删除
$(“#ddlvalid”)。更改(函数(){
及其相应的右括号。在javascript中也使用clientId,就像在label
中使用clientId一样。
让我们看看。是否在dropdow上设置了ClientdMode=static
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server">
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript" src="http://cdn.jsdelivr.net/json2/0.1/json2.js"></script>
<script type="text/javascript">
    function findDate() {
    var selectvalid = $("select[id$=ddlvalid]").val();
            if (selectvalid == "Select Validity") {
                alert("Please Select Validity");
            }
            else if (selectvalid == "Upto 7 Days") {

                var today = new Date();
                var tomorrow = new Date(today);
                tomorrow.setDate(today.getDate() + 7);

                var dd = tomorrow.getDate();
                var mm = tomorrow.getMonth() + 1;
                var y = tomorrow.getFullYear();

                var output = tomorrow.getFullYear() + '/' + (mm < 10 ? '0' : '') + mm + '/' + (dd < 10 ? '0' : '') + dd;
                $("span[id$=lblenddt]").text(output);
            }
            else if (selectvalid == "Upto 15 Days") {
                var today = new Date();
                var tomorrow = new Date(today);
                tomorrow.setDate(today.getDate() + 15);


                var dd = tomorrow.getDate();
                var mm = tomorrow.getMonth() + 1;
                var y = tomorrow.getFullYear();

                var output = tomorrow.getFullYear() + '/' + (mm < 10 ? '0' : '') + mm + '/' + (dd < 10 ? '0' : '') + dd;
                document.getElementById("<%=lblenddt.ClientID%>").innerHTML = output;
            }
            else if (selectvalid == "Upto 30 Days") {
                var today = new Date();
                var tomorrow = new Date(today);
                tomorrow.setDate(today.getDate() + 30);

                var dd = tomorrow.getDate();
                var mm = tomorrow.getMonth() + 1;
                var y = tomorrow.getFullYear();

                var output = tomorrow.getFullYear() + '/' + (mm < 10 ? '0' : '') + mm + '/' + (dd < 10 ? '0' : '') + dd;
                document.getElementById("<%=lblenddt.ClientID%>").innerHTML = output;
            }
    };
        window.onload = function() {
            var d = new Date();
            var month = d.getMonth() + 1;
            var day = d.getDate();
            var output = d.getFullYear() + '/' + (month < 10 ? '0' : '') + month + '/' + (day < 10 ? '0' : '') + day;
            document.getElementById("<%=lblenqmdon.ClientID%>").innerHTML = output;
        };
</script>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
<table border="0" cellpadding="0" cellspacing="0">
    <tr>
    <td>Enquiry Made On:</td>
    <td>
        <label id="lblenqmdon" runat="server"></label>
    </td>
    </tr>
    <tr>
    <td>Enquiry Validity:</td>
    <td><asp:DropDownList ID="ddlvalid" runat="server" ClientIDMode="static" onchange="javascript:findDate();">
                                <asp:ListItem>Select Validity</asp:ListItem>
                                <asp:ListItem>Upto 7 Days</asp:ListItem>
                            <asp:ListItem>Upto 15 Days</asp:ListItem>
                            <asp:ListItem>Upto 30 Days</asp:ListItem>
                </asp:DropDownList>
                </td>
    </tr>
    <tr>
    <td>Enquiry Valid Upto:</td>
    <td>
        <label id="lblenddt" runat="server" ClientIDMode="static"></label>
    </td>
    </tr>
</table>
</asp:Content>
function findDate() {

            var selectvalid = $("#ddlvalid option:selected").text();
            if (selectvalid == "Select Validity") {
                alert("Please Select Validity");
            }
            else if (selectvalid == "Upto 7 Days") {

                var today = new Date();
                var tomorrow = new Date(today);
                tomorrow.setDate(today.getDate() + 7);

                var dd = tomorrow.getDate();
                var mm = tomorrow.getMonth() + 1;
                var y = tomorrow.getFullYear();

                var output = tomorrow.getFullYear() + '/' + (mm < 10 ? '0' : '') + mm + '/' + (dd < 10 ? '0' : '') + dd;
                document.getElementById("<%=lblenddt.ClientID%>").value = output;
            }
            else if (selectvalid == "Upto 15 Days") {
                var today = new Date();
                var tomorrow = new Date(today);
                tomorrow.setDate(today.getDate() + 15);


                var dd = tomorrow.getDate();
                var mm = tomorrow.getMonth() + 1;
                var y = tomorrow.getFullYear();

                var output = tomorrow.getFullYear() + '/' + (mm < 10 ? '0' : '') + mm + '/' + (dd < 10 ? '0' : '') + dd;
                document.getElementById("<%=lblenddt.ClientID%>").innerHTML = output;
            }
            else if (selectvalid == "Upto 30 Days") {
                var today = new Date();
                var tomorrow = new Date(today);
                tomorrow.setDate(today.getDate() + 30);

                var dd = tomorrow.getDate();
                var mm = tomorrow.getMonth() + 1;
                var y = tomorrow.getFullYear();

                var output = tomorrow.getFullYear() + '/' + (mm < 10 ? '0' : '') + mm + '/' + (dd < 10 ? '0' : '') + dd;
                document.getElementById("<%=lblenddt.ClientID%>").innerHTML = output;
            }
      }
        window.onload = function() {
            var d = new Date();
            var month = d.getMonth() + 1;
            var day = d.getDate();
            var output = d.getFullYear() + '/' + (month < 10 ? '0' : '') + month + '/' + (day < 10 ? '0' : '') + day;
            document.getElementById("<%=lblenqmdon.ClientID%>").innerHTML = output;
        };
    });