我需要一种方法来刷新这个jQuery代码:
$(".alert_info").colorbox({
inline: true, width: "50%",
onOpen: function () {
}
});
点击asp按钮后:
<asp:Button runat="server" ID="btnSearch" Text="Search" OnClick="btnSearch_Click" />
我尝试使用:
$(document).ready(function () {
$(".alert_info").colorbox({
inline: true, width: "50%",
onOpen: function () {
}
});
});
它不起作用......
我尝试使用:
$(".alert_info").on("click", function () {
$(".alert_info").colorbox({
inline: true, width: "50%",
onOpen: function () {
}
});
});
它也没有用......
这是类.alert_info:
的输入<a class="alert_info cboxElement" href="#alertWin10">View details</a>
答案 0 :(得分:0)
当有回发或重新发布回复时,您可以重新绑定事件监听器。您应该能够在js中定位pageLoad
事件。另一种选择是将所有启动代码放在(javascript)pageLoad
函数中,因为只要有回发或部分回发(ajax / update pannels),就应该触发事件。
function pageLoad(sender, args) {
//rebind events here
}
这只是我不喜欢WebForms的原因之一。
答案 1 :(得分:0)
请按照以下步骤查看问题是否已解决。
将以下代码分配给字符串
$(document).ready(function(){ $(&#34;&.alert_info#34)。颜色框({ 内联:true,width:&#34; 50%&#34;, onOpen:function(){ } }); });
使用Scriptmanager.RegisterStartupScript并将属性值与脚本字符串一起传递,并从后面的代码中的按钮单击事件中调用它。
这将调用代码并刷新脚本。
答案 2 :(得分:0)
嗯,这最终解决了它:
$(function () {
var prm = Sys.WebForms.PageRequestManager.getInstance();
prm.add_endRequest(function () {
$(".alert_info").colorbox({
inline: true, width: "50%",
onOpen: function () {
var json = $.parseJSON($(this).siblings("input[type='hidden']").first().val());
}
});
});
});
这是一个显示解决方案See "mitsbits" answer
的链接