控件的初始化为:

<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/

10-11 14:57