在下拉列表更改时调用Javascript函数

时间:2015-06-11 22:17:55

标签: javascript c# jquery asp.net webforms

我正在使用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();

这一定是一件简单的事,但我已经堆叠了......

2 个答案:

答案 0 :(得分:2)

您需要修改选择器

$("#<%=ddlList.ClientID%>").change(function() {
    // do stuff here...
});

你的jQuery选择器的目标是服务器控件的id,但是当服务器发回响应时,id会变成像ct100_ddlList这样的垃圾。您还可以在服务器控件上将ClientIDMode设置为state。

答案 1 :(得分:0)

如果要在javascript中使用完全相同的名称,可以对ddlList使用ClientIDMode =“Static”。