1

我有一个带有一些 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 将脚本放置在页面底部,并且由于某种原因,它运行得太晚了?

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

4

2 回答 2

2

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

问候...

于 2010-06-25T11:50:47.177 回答
1

它可能运行得太早了......页面底部很好,试试这个:

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

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

于 2010-06-25T11:49:51.633 回答