Javascript 无法通过编程方式在jQuery选项卡中重新加载ajax内容

Javascript 无法通过编程方式在jQuery选项卡中重新加载ajax内容,javascript,jquery,jquery-ui,Javascript,Jquery,Jquery Ui,我对编程很陌生,所以请原谅我的无知。 我正在为我的应用程序使用优秀的jQuery选项卡,我通过ajax将外部内容加载到选项卡中,在其中一个选项卡中,我需要通过编程在结果之后重新加载该选项卡的内容。我遵循了文档,但没有任何效果 我已使用以下命令非常简单地初始化了根页面中的选项卡: Javascript: $(document).ready(function(){ $("#tabs").tabs({ cookie: { expires: 30 } }); }); HTML:

我对编程很陌生,所以请原谅我的无知。 我正在为我的应用程序使用优秀的jQuery选项卡,我通过ajax将外部内容加载到选项卡中,在其中一个选项卡中,我需要通过编程在结果之后重新加载该选项卡的内容。我遵循了文档,但没有任何效果

我已使用以下命令非常简单地初始化了根页面中的选项卡:

Javascript:

  $(document).ready(function(){
    $("#tabs").tabs({ cookie: { expires: 30 } });    
  });
HTML:

<div id="tabs">
<ul>
     <li><a href="#moderatorManage"><span>Find and Manage Moderators</span></a></li>
     <li><a href="flaggedCards/" id="flaggedCards" ><span>Flagged Cards</span></a></li>
     <li><a href="pendingDelete/"><span>SinBin / Pending Delete</span></a></li>
</ul>
</div>
我试图做的是调用flaggedCards选项卡,在调用该函数时重新加载,我尝试了各种不同的语法,但都没有用

  • docs.jquery.com/UI/API/1.7.1/Tabs#方法加载

要执行脚本,必须确保ajax请求的数据类型为“html”-请参阅。为此,请在设置选项卡时尝试“选项卡”选项

$("#tabs").tabs({ cookie: { expires: 30 }, ajaxOptions: {dataType: "html"} });    
另一个问题可能是,当通过ajax加载选项卡内容时,
$(document).ready(function(){
可能没有启动。请尝试删除它和相应的
}
。当它通过ajax加载您的内容时,希望它在评估脚本之前将其插入文档中


我没有主意了。希望这有帮助:-)

要执行脚本,必须确保ajax请求的数据类型为“html”-请参阅。为此,请在设置选项卡时尝试“选项卡”选项

$("#tabs").tabs({ cookie: { expires: 30 }, ajaxOptions: {dataType: "html"} });    
另一个问题可能是,当通过ajax加载选项卡内容时,
$(document).ready(function(){
可能没有启动。请尝试删除它和相应的
}
。当它通过ajax加载您的内容时,希望它在评估脚本之前将其插入文档中


我没有主意了。希望这有帮助:-)

我应该提到,它正在运行加载的html中的脚本,请参阅addclass函数,该函数运行良好,但是在运行之后,它不会用我输入的代码重新加载选项卡。但是,我将尝试添加该数据类型。

我应该提到,它正在加载的html中运行脚本,请参阅addclass函数,该函数运行良好,但是在运行之后,它不会用我输入的代码重新加载选项卡。不过,我将尝试添加该数据类型。

我能够复制与您在文章中报告的完全相同的问题。我就是这样解决的

在承载选项卡的根页面中,添加以下功能:

    $(document).ready(function(){
        $("#controls_{{id}} input").click(function() {

                $(this).parent().parent().parent().addClass("highlight").fadeTo("slow", 0.1);
                $("#tabs").tabs( 'load' , 0 ); // fails also tried various selectors

        });
 });
function selectTab(index){
 $("#tabs").tabs('load', index);
}
然后在外部Url页面“flaggedCards/”中,替换显示以下内容的行:

$("#tabs").tabs( 'load' , 0 );
为此:

selectTab(0);

我不知道为什么这个变通方法会奏效。也许这是一个bug。

我能够复制与您在帖子中报告的完全相同的问题。我就是这样解决的

在承载选项卡的根页面中,添加以下功能:

    $(document).ready(function(){
        $("#controls_{{id}} input").click(function() {

                $(this).parent().parent().parent().addClass("highlight").fadeTo("slow", 0.1);
                $("#tabs").tabs( 'load' , 0 ); // fails also tried various selectors

        });
 });
function selectTab(index){
 $("#tabs").tabs('load', index);
}
然后在外部Url页面“flaggedCards/”中,替换显示以下内容的行:

$("#tabs").tabs( 'load' , 0 );
为此:

selectTab(0);

我不知道为什么这个变通方法会奏效。也许这是一个bug。

这就是
$(文档).ready(function(){
位,然后。
.ready
在通过ajax加载页面时不会触发。摆脱它,并将其转换为一个直接的函数调用,应该可以。@Dan-实际上$(document).ready()触发得很好。问题是调用.tabs('load'))好吧,那我就错了。你每天都能学到新东西:-)嗯,所以这可能不像我想的那么简单。我已经玩过选择器,我有一种直觉,我在那里做了一些错误的事情,但是调用所有明显的东西也不起作用。哦,是的,我可以确认document ready函数工作得很好,因为它按预期运行addClass函数。这就是
$(document)。准备好了吗(function(){
bit then.
.ready
在通过ajax加载页面时不会触发。去掉它,将其转换为一个直接的函数调用,应该可以。@Dan-实际上$(document).ready()触发得很好。问题是调用.tabs('load'))好吧,那我就错了。你每天都能学到新东西:-)嗯,所以这可能不像我想的那么简单。我已经使用了选择器,我有一种直觉,我在那里做了一些错误的事情,但是调用所有明显的东西也不起作用。哦,是的,我可以确认document ready函数工作得很好,因为它按预期运行addClass函数。