У меня есть число элементов управления dropdownlist.
<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>
Поэтому здесь я хочу обработать выбранное событие изменения элемента с jquery в ddlusertype, поэтому я использовал 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);
});
}
})
});
Проблема в том, что когда я снова выбираю "Выбрать пользователя", тогда событие не может быть запущено... так что, пожалуйста, помогите мне. Вторая проблема заключается в том, что я не могу отличить, какое событие ddl произошло от #IdName.
Используйте селектор 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/
<asp:DropDownList ID="ddlusertype" runat="server" AutoPostBack="True" ClientIDMode="Static">
Измените AutoPostBack = "False", иначе страница перезагрузится, и ваша функция не будет вызвана