控件的初始化为:
<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个值,即“请选择学生”,“提姆”,“电话”和“洛基”。
现在,用户选择“ Phony”,然后重置下拉菜单,它会命中JQuery代码并将索引设置为0。
但是现在,当用户再次选择“ Phony”时,它不会击中服务器端的SelectedIndexChanged事件。
注意:
我已经尝试过以下方法,但是没有用:
1.将下拉菜单“ AutoPostBack”属性设置为true
2. __doPostBack(“ ”,``);
请帮助找到解决方案。
最佳答案
here也提出了类似的问题。没有看到HTML代码,我很好奇您是否在HTML中设置了“ OnSelectedIndexChanged”属性?除此之外,您是否将'AutoPostBack'设置为true?这是相关问题的解决方案。
关于javascript - 使用JQUERY重设原始值时,不会执行DropDownList SelectedIndexChanged,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44881473/