在下拉列表更改时调用 Javascript 函数
Call a Javascript function on dropdownlist change
我正在使用 Visual Studio 2013 WebForms,我正在尝试在更改下拉列表 (Asp:DropDownList
) 时调用 javascript 函数。
但是我对这种行为完全感到困惑。有人可以告诉我出了什么问题吗?
这有效
<asp:DropDownList ID="ddlList" CssClass="form-control" onchange="alert(1)" runat="server"></asp:DropDownList>
但是这没有任何反应
$(document).ready(function () {
function test() {
alert(1);
}
});
<asp:DropDownList ID="ddlList" CssClass="form-control" onchange="test()" runat="server"></asp:DropDownList>
这也行不通
$(document).ready(function () {
$('#ddlList').change(function(){
alert(1);
});
});
<asp:DropDownList ID="ddlList" CssClass="form-control" runat="server"></asp:DropDownList>
hide()
函数工作正常所以我相信 jquery 本身工作。
$("#divTextbox").hide();
这一定是一件简单的事情,但我已经把它堆起来了..
您需要修改选择器
$("#<%=ddlList.ClientID%>").change(function() {
// do stuff here...
});
您拥有的 jQuery 选择器以服务器控件的 ID 为目标,但是当服务器发回响应时,该 ID 会变成一些垃圾,例如 ct100_ddlList。您还可以将 ClientIDMode 设置为服务器控件上的状态。
如果您想在 javascript.
中使用完全相同的名称,您可以为 ddlList 使用 ClientIDMode="Static"
我正在使用 Visual Studio 2013 WebForms,我正在尝试在更改下拉列表 (Asp:DropDownList
) 时调用 javascript 函数。
但是我对这种行为完全感到困惑。有人可以告诉我出了什么问题吗?
这有效
<asp:DropDownList ID="ddlList" CssClass="form-control" onchange="alert(1)" runat="server"></asp:DropDownList>
但是这没有任何反应
$(document).ready(function () {
function test() {
alert(1);
}
});
<asp:DropDownList ID="ddlList" CssClass="form-control" onchange="test()" runat="server"></asp:DropDownList>
这也行不通
$(document).ready(function () {
$('#ddlList').change(function(){
alert(1);
});
});
<asp:DropDownList ID="ddlList" CssClass="form-control" runat="server"></asp:DropDownList>
hide()
函数工作正常所以我相信 jquery 本身工作。
$("#divTextbox").hide();
这一定是一件简单的事情,但我已经把它堆起来了..
您需要修改选择器
$("#<%=ddlList.ClientID%>").change(function() {
// do stuff here...
});
您拥有的 jQuery 选择器以服务器控件的 ID 为目标,但是当服务器发回响应时,该 ID 会变成一些垃圾,例如 ct100_ddlList。您还可以将 ClientIDMode 设置为服务器控件上的状态。
如果您想在 javascript.
中使用完全相同的名称,您可以为 ddlList 使用 ClientIDMode="Static"