我有多个下拉列表控件。
<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事件。
答案 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;否则页面将重新加载,您的功能将不会被调用