javascript - 使用 JQUERY 重置原始值时,DropDownList SelectedIndexChanged 不会执行

标签 javascript jquery asp.net vb.net dropdown

控件的初始化如下:

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

相关文章:

javascript - 使用 Easy Slider 1.7 进行键盘方向键导航

javascript - Protractor - 我可以使用 $$(elementLocator).first() 来表示更多元素,例如第二个、第三个等......?

javascript - jQuery:按键时在两个单选按钮之间切换

javascript - 在先前添加的元素之后插入新元素

javascript - 关闭显示 : none in CSS for a TD

jquery - 如何在 Electron 中使用 fs 保存 PDF 文件?

asp.net - 从跨平台移动应用程序使用 REST 和 ASP.NET Web Api 进行身份验证和授权

c# - 哪个是paypal cancel url响应参数

javascript - Visual Studio 单页应用程序集成

javascript - 在 OS X (El Capitan) 上从 JavaScript 发送和接收 "raw"Apple 事件