Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jquery ui选项卡在.tabs()初始化后更改内容_Jquery_Jquery Ui_Jquery Ui Tabs - Fatal编程技术网

jquery ui选项卡在.tabs()初始化后更改内容

jquery ui选项卡在.tabs()初始化后更改内容,jquery,jquery-ui,jquery-ui-tabs,Jquery,Jquery Ui,Jquery Ui Tabs,目标: 初始化后如何更改ui选项卡的内容 请参阅下面的代码。可能是$tabs之后的内容。查找(content-1)等 实际上,我的标签有基于json请求的内容,而json请求将 根据要求(图形、表格等)进行分析和显示 我不能使用所描述的tab1方法 在用于ajax内容的ui文档中,因为我需要所有选项卡都包含数据 分开并同时加载。Ajax方法不断取代传统方法 选项卡数据与我不需要的其他选项卡数据 所以理想情况下 选项卡应初始化为“loading..”消息 然后,当我检测到它的init事件时,我应该

目标: 初始化后如何更改ui选项卡的内容

请参阅下面的代码。可能是$tabs之后的内容。查找(content-1)等

  • 实际上,我的标签有基于json请求的内容,而json请求将 根据要求(图形、表格等)进行分析和显示
  • 我不能使用所描述的
  • tab1方法 在用于ajax内容的ui文档中,因为我需要所有选项卡都包含数据 分开并同时加载。Ajax方法不断取代传统方法 选项卡数据与我不需要的其他选项卡数据
  • 所以理想情况下

  • 选项卡应初始化为“loading..”消息
  • 然后,当我检测到它的init事件时,我应该说3个不同的ajaxcalls,进程数据,无论哪个完成,“loading..”消息都应该替换为它的内容
  • HTML:

    <div id="tabs">
        <ul>
            <li><a href="#tabs-1">tab1</a>
            </li>
            <li><a href="#tabs-2">tab2</a>
            </li>
            <li><a href="#tabs-3">tab3</a>
            </li>
        </ul>
        <div id="tabs-1">
            <p>loading...</p>
        </div>
        <div id="tabs-2">
            <p>loading...</p>
        </div>
        <div id="tabs-3">
            <p>loading...</p>
        </div>
    </div>
    
    工作 试试这个

    我想这就是你需要的

    $(document).ready(function () {
    
        $tabs = $('#tabs').tabs({
            cache: false,
        });
        if ($('#tabs').hasClass('ui-tabs')) { // check if tabs initilized
            $('.tab').each(function () {
                var tab = $(this);
                $.ajax({
                    url: '/echo/html/',
                    success: function (data) {
                        tab.html("success"); // for demo
                    }
    
                });
    
            });
        }
    });
    

    一个问题。$('.tab')。每个(函数(){..这是否意味着所有ajax调用都将一起触发?还是等待一个调用成功/失败,然后移动到下一个ajax调用?如果希望每个ajax请求一个接一个地执行,请在ajax内部ie..url:'/echo/html/',async:false,success:function(数据)中添加async:false{tab.html(“success”);//用于演示}async:false将使请求同步,即在每次ajax调用上等待一个成功/失败,然后才处理下一个。我希望所有ajaxs请求都立即触发,并且任何一个完成的请求都应该附加/修复其内容。一个ajax请求不应该依赖于pther来完成。那么您的代码对这种情况有效吗?好的,above将按顺序发送ajax请求,但不等待响应,响应顺序为先到先,将显示哪个响应先到
    $(document).ready(function () {
    
        $tabs = $('#tabs').tabs({
            cache: false,
        });
        if ($('#tabs').hasClass('ui-tabs')) { // check if tabs initilized
            $('.tab').each(function () {
                var tab = $(this);
                $.ajax({
                    url: '/echo/html/',
                    success: function (data) {
                        tab.html("success"); // for demo
                    }
    
                });
    
            });
        }
    });