jquery with asp.net选择项目更改事件

时间:2014-03-20 06:59:21

标签: jquery asp.net

我有多个下拉列表控件。

<asp:DropDownList ID="ddlusertype" runat="server" AutoPostBack="True">
    <asp:ListItem>---Select User---</asp:ListItem>
    <asp:ListItem>Patient</asp:ListItem>
    <asp:ListItem>Doctor</asp:ListItem>
    <asp:ListItem>Pharmasits</asp:ListItem>
    <asp:ListItem>Lab Assistance</asp:ListItem>
</asp:DropDownList>

<asp:DropDownList ID="ddlmaritalstatus" runat="server" CssClass="chkbox">
    <asp:ListItem>---Select Status---</asp:ListItem>
    <asp:ListItem>Married</asp:ListItem>
    <asp:ListItem>Unmarried</asp:ListItem>
</asp:DropDownList>

所以这里我想在ddlusertype处理jquery选择的项目更改事件,所以我使用了jquery和

<script type="text/javascript">

$(document).ready(function () {
    $('input:text').each(function () {
        $(this).attr('disabled', true);
    });
    $("select").change(function () {
        alert(this.value);
        if (this.value != "User Select") {
            alert(this.value);
            $('input:text').each(function () {
                $(this).attr('disabled', false);
            });

        }
        if (this.value == "User Select") {
            $('input:text').each(function () {
                $(this).attr('disabled', true);
            });
        }
    })
});

问题是,当我再次选择“选择用户”时,事件无法启动...所以请帮助我。 第二个问题是我无法区分#IdName发生了哪个ddl事件。

2 个答案:

答案 0 :(得分:1)

使用Jquery选择器区分目的以单独运行下拉列表更改事件。请参阅:http://jsfiddle.net/2a7fF/

<script type="text/javascript">

$(document).ready(function () {
    $('input:text').each(function () {
        $(this).attr('disabled', true);
    });
    $("[id$='ddlusertype']").change(function () {
        alert(this.value);
        //do your work here
    })

   $("[id$='ddlmaritalstatus']").change(function () {
        alert(this.value);
        //do your work here
    })
});

对于您的第一个问题,jquery脚本运行正常。请参阅jsfiddler:http://jsfiddle.net/mb225/

答案 1 :(得分:0)

<asp:DropDownList ID="ddlusertype" runat="server" AutoPostBack="True" ClientIDMode="Static">

更改AutoPostBack =&#34; False&#34;否则页面将重新加载,您的功能将不会被调用