gpt4 book ai didi

jquery - 使用 jQuery 选择 DropDownlist 时如何防止 AutoPostBack

转载 作者:行者123 更新时间:2023-12-01 02:16:55 24 4
gpt4 key购买 nike

我想在用户选择 DropDownList 中的项目时显示确认对话框。如果用户按取消,我想停止回发。这是我添加到 onchange 事件的函数:

function imitateConfirmUnload(event) {
if (window.onbeforeunload = null)
return true;

return confirm("Are you sure you want to navigate away from this page?\n\nYou have unsaved changes\n\nPress OK to continue or Cancel to stay on the current page.");
}

这是我的启动脚本中用于将处理程序添加到事件的相关代码:

function addConfirmToWarnClasses() {

$('.warn').change(function() {
imitateConfirmUnload()
});
}

问题是即使用户选择取消也会发生回发。如果我将处理程序移至单击事件,它就会起作用。但我觉得很笨拙。

编辑

更正:它不起作用onclick,因为对话框阻止选择,因此当用户选择“确定”时,不会发生任何更改,并且在您需要时不会回发!

编辑2

DropDownList 位于 UpdatePanel 内,因此可能会影响行为。

最佳答案

阅读后this solution ,我刚刚删除了 DropDownLists 上的 AutoPostBack 并使用了它,因为它非常简单:

$("#DropDownList1").change(function (e) {
if ($(this).val() == "0") {
//do nothing
}
else {
//do postback
setTimeout("__doPostBack('DropDownList1','')", 0);
}
});

或者如果您有多个 DropDownLists,您想要创建 AutoPostBack:

$("select").change(function (e) {
if ($(this).val() == "0") {
//do nothing
}
else {
//do postback
setTimeout("__doPostBack('" + this.id + "','')", 0);
}
});

关于jquery - 使用 jQuery 选择 DropDownlist 时如何防止 AutoPostBack,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3298140/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com