ASP.NET 回发上的 Jquery 选项卡选择

发布于 2024-09-07 09:01:10 字数 560 浏览 8 评论 0原文

我有一个带有一些 JQuery 选项卡的 asp.net 页面。一切正常。 我在其中一个选项卡中添加了一个下拉列表,这会导致回发。回发后我希望选择相同的选项卡。

我将选项卡初始化为:

<script type="text/javascript">
    $(document).ready(function() {
     var $myTabs = $(".tabsDiv").tabs();
</script>

然后,在 PageLoad 事件中,我注入一个脚本来选择选项卡:

Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "TabSelect", "$myTabs.tabs('select', 1);", true);

由于某种原因,这不起作用。脚本正在运行,但未选择选项卡。 是否是因为 RegisterClientScriptBlock 将脚本放置在页面底部,并且由于某种原因,它运行得太晚了?

任何帮助表示赞赏。 提前谢谢

I have an asp.net page with some JQuery tabs. Everything works ok.
I added a dropdownlist in one of the tabs, that causes a postback. After the postback I want the same tab to be selected.

I initialize the tabs as:

<script type="text/javascript">
    $(document).ready(function() {
     var $myTabs = $(".tabsDiv").tabs();
</script>

Then, on the PageLoad event, I inject a script to select the tab:

Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "TabSelect", "$myTabs.tabs('select', 1);", true);

For some reason this doesn't work. The script is running but the tabs are not selected.
Is it because the RegisterClientScriptBlock places the script in the bottom of the page and, for some reason, it runs too late?

Any help is appreciated.
Thx in advance

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

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

发布评论

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

评论(2

葬花如无物 2024-09-14 09:01:10

调用 $myTabs.tabs('select', 1);我认为会导致错误。 $myTabs 不是全局变量。它的范围仅限于 $(document).ready(function() { ... });
你可以尝试使用 $(".tabsDiv").tabs('select', 1);看看它是否有效?

问候...

Calling $myTabs.tabs('select', 1); I think results in an error. $myTabs is not a global variable. It's scope is only in $(document).ready(function() { ... });
Can you try with $(".tabsDiv").tabs('select', 1); and see if it works?

Regards...

A君 2024-09-14 09:01:10

它可能运行得太早...页面底部很好,请尝试以下操作:

Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "TabSelect", 
    "$(document).ready(function() { $myTabs.tabs('select', 1); });", true);

基本上,它也会在就绪事件中运行此代码。

It might run too early... bottom of the page is good, try this instead:

Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "TabSelect", 
    "$(document).ready(function() { $myTabs.tabs('select', 1); });", true);

Basically, it also runs this code at the ready event.

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