添加 jQuery UI 后服务器端代码未触发
Posted
技术标签:
【中文标题】添加 jQuery UI 后服务器端代码未触发【英文标题】:server side code not firing after adding jQuery UI 【发布时间】:2018-08-25 10:55:31 【问题描述】:我有一个 ASP.Net 下拉列表
<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged">
</asp:DropDownList>
它在回发时执行此代码
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
//my code here
但是,当我向它添加 jquery 时,这个下拉列表没有做回发。
<script>
$('#<%=DropDownList1.ClientID%>').selectmenu();
</script>
我该怎么办?我想添加 jquery 并执行回发服务器代码。
【问题讨论】:
selectmenu();
中的代码是什么,能否请您也提供一下
@PranayRana 在 selectmenu() 中什么都没有,实际上它只是将 asp.net 下拉菜单的设计更改为 jquery 下拉菜单。我写错了吗?
检查生成的 html。我 99% 确定 jQuery UI 插件正在改变事件
我不明白。我需要检查什么?
在您选择的浏览器中打开页面并检查 HTML - 通过开发人员控制台(通常为 F12)
【参考方案1】:
尝试如下更改事件触发可以触发服务器端事件
document.getElementById('<%= DropDownList1.ClientID %>').onchange();
或
$('#<%=DropDownList1.ClientID%>').change(function() return true;);
或者这也有帮助,它卖的方式,我不太喜欢它,如果它上面一个不起作用,请尝试
$('#<%=DropDownList1.ClientID%>').change(function()
__doPostBack("<%#=DropDownList1.ClientID %>","");
);
【讨论】:
以上是关于添加 jQuery UI 后服务器端代码未触发的主要内容,如果未能解决你的问题,请参考以下文章
服务器端 Ajax JQuery CRUD DataTable - PHP PDO,MySql