控件的初始化如下:
<asp:DropDownList ID="ddlStudent" runat="server" OnSelectedIndexChanged="ddlStudent_SelectedIndexChanged" AutoPostBack="true" CssClass="form-control" data-toggle="tooltip" ToolTip="Select student" />
以下是 SelectedIndexChanged 事件的 VB 代码(在 VB 中):
Public Sub ddlStudent_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ddlStudent.SelectedIndexChanged
Dim dsStudentInfo as DataSet = New DataSet()
If (ddlStudent.SelectedIndex > 0) Then
dsStudentInfo = GetStudentInfo(Convert.ToInt32(ddlStudent.SelectedItem.Value))
End If
End Sub
当我们使用 JQuery 重置下拉索引时,它会重置下拉索引。 同样,当我们选择前一个索引时,它不会触发服务器端 SelectedIndexChanged 事件。
以下是重置下拉列表的 JQuery 代码:
$("[id*=ddlStudent]").prop('selectedIndex', 0);
这是演示:
- 假设下拉列表有 4 个值,即“请选择学生”、“Tim”、“Phony”和“Rocky”。
- 现在用户选择“Phony”,然后重置下拉列表,它会命中 JQuery 代码并将索引设置为 0。
- 但是现在,当用户再次选择“Phony”时,它不会触发服务器端 SelectedIndexChanged 事件。
注意: 我已经尝试过以下方法,但没有成功: 1. 将下拉菜单“AutoPostBack”属性设置为 true 2. __doPostBack("<%=ddlStudent.ClientID %>", '');
请帮助寻找解决方案。
最佳答案
有人提出了类似的问题here 。在没有看到 HTML 代码的情况下,我很好奇您是否在 HTML 中设置了“OnSelectedIndexChanged”属性?除此之外,您是否将“AutoPostBack”设置为 true?这是相关问题的解决方案。
关于javascript - 使用 JQUERY 重置原始值时,DropDownList SelectedIndexChanged 不会执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44881473/