ASP .Net TextChanged 以显示 Jquery 对话框

发布于 2025-01-06 00:50:12 字数 682 浏览 0 评论 0原文

当附有日期选择器的文本框上的文本发生更改时,我想在某些条件下显示 jquery 对话框。

在我的 TextChanged 事件中,我调用了一个 javascript 函数,该函数应该

protected void txtPickupDate_TextChanged(object sender, EventArgs e)
{ 
ScriptManager.RegisterClientScriptBlock(this, typeof(Page), "showInfo", "showDialog();", true);
}

在我的 aspx 页面上显示对话框 Javascript 是:

function showDialog() {
    $("#popInfo").dialog("open");
}

使用 firebug 我看到 javascript 函数被触发,但对话框从未显示。我在页面上放置了一个asp按钮,调用函数onClientClick来测试该功能,它运行得很好。

我还尝试了其他地方提到的解决方案,但仍然没有运气:

$('#popInfo').parent().appendTo(jQuery("form:first"));

我很确定这与更新面板或回发有关,但它让我难住了。非常感谢任何帮助!

I want to display a jquery dialog under certain conditions when the text changes on a textbox which has a datepicker attached to it.

In my TextChanged event I call to a javascript function which should display the dialog

protected void txtPickupDate_TextChanged(object sender, EventArgs e)
{ 
ScriptManager.RegisterClientScriptBlock(this, typeof(Page), "showInfo", "showDialog();", true);
}

Javascript on my aspx page is:

function showDialog() {
    $("#popInfo").dialog("open");
}

Using firebug I see that the javascript function is fired but the dialog is never displayed. I put an asp button on the page calling the function onClientClick to test the function and it works perfectly.

I also tried a solution mentioned else where but still no luck:

$('#popInfo').parent().appendTo(jQuery("form:first"));

I'm pretty sure that is has something to do with updatepanels or postbacks but it has me stumped. Greatly appreciate any help!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

画▽骨i 2025-01-13 00:50:12

如果您已经配置了 TextChanged 事件,并且在调试它时您可以看到它在那里,请尝试使用 thisTextChanged 事件:

protected void txtPickupDate_TextChanged(object sender, EventArgs e)
{ 
ScriptManager.RegisterStartupScript(this.Page, typeof(UpdatePanel), Guid.NewGuid().ToString(), "$(function(){$('#popInfo').dialog('open');});", true);
}

我假设您正在将 UpdatePanel 与 ScriptManager 一起使用。

另请参阅 AJAX 控制工具包JQuery 自动完成插件,了解调用服务器端代码的其他方法。

If you have configured your TextChanged event and when you debug it you can see it going in there, try thisTextChanged event instead:

protected void txtPickupDate_TextChanged(object sender, EventArgs e)
{ 
ScriptManager.RegisterStartupScript(this.Page, typeof(UpdatePanel), Guid.NewGuid().ToString(), "$(function(){$('#popInfo').dialog('open');});", true);
}

I am assuming you are using UpdatePanel with a ScriptManager.

Also look at AJAX Control Tool Kit and JQuery Autocomplete Plugin for other ways to call server side code.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文