Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.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
Javascript JQuery UI选项卡-修改选项卡的链接_Javascript_Jquery_Jquery Ui_Jquery Ui Tabs - Fatal编程技术网

Javascript JQuery UI选项卡-修改选项卡的链接

Javascript JQuery UI选项卡-修改选项卡的链接,javascript,jquery,jquery-ui,jquery-ui-tabs,Javascript,Jquery,Jquery Ui,Jquery Ui Tabs,有没有办法通过jquery/javascript修改jquery ui中选项卡的链接 例如,我的页面布局顶部有一个查询机制,下面有几个选项卡。当用户提交查询时,我希望将查询字符串附加到每个选项卡链接。如果我在提交查询时进行整页刷新,这就可以了,我只需在构建选项卡时将查询字符串插入链接中即可。但是,如果我尝试异步提交和获取结果,我需要更新选项卡链接 下面是我的按钮单击事件的一个片段,我构建了一个查询字符串,然后按如下方式提交: $.ajax({ url: "

有没有办法通过jquery/javascript修改jquery ui中选项卡的链接

例如,我的页面布局顶部有一个查询机制,下面有几个选项卡。当用户提交查询时,我希望将查询字符串附加到每个选项卡链接。如果我在提交查询时进行整页刷新,这就可以了,我只需在构建选项卡时将查询字符串插入链接中即可。但是,如果我尝试异步提交和获取结果,我需要更新选项卡链接

下面是我的按钮单击事件的一个片段,我构建了一个查询字符串,然后按如下方式提交:

    $.ajax({
                url: "/MyController/" + actionPrefix + "Index?q=" + query + extraParm + "#ui-tabs-" + selectedTab,
                cache: false,
                success: function(html) {
                    $(list).remove();
                    $(container).append(html);
                    $('li a.actionLink').unbind('click').click(function() {
                        //This was some code I was playing with to change tab links, but couldn't seem to get it working...                        
                    });
                }
            });

您应该可以只更改href:

       success: function(html) {
            $(list).remove();
            $(container).append(html);
            $('li a.actionLink').attr('href',somethingNew);
        }

您应该可以只更改href:

       success: function(html) {
            $(list).remove();
            $(container).append(html);
            $('li a.actionLink').attr('href',somethingNew);
        }

href存储在.data存储中

您可以使用以下内容更改url

$('#tabs').tabs('url' , tabIndex , url );
从另一个角度看我对另一个问题的答案

这允许您说以下内容来更改第一个选项卡url

$('#tabs a:first').data('href.tabs', 'someNewUrl');

href存储在.data存储中

您可以使用以下内容更改url

$('#tabs').tabs('url' , tabIndex , url );
从另一个角度看我对另一个问题的答案

这允许您说以下内容来更改第一个选项卡url

$('#tabs a:first').data('href.tabs', 'someNewUrl');

上述答案在jQuery1.9+中不起作用。要使用jQueryUITabs 1.9+您必须执行以下操作

var tabs = $("#tabs");
var tab = $(tabs.data('uiTabs').tabs[TAB_INDEX]);
tab.find('.ui-tabs-anchor').attr('href', "NEW_URL");
// If cached initially. Remove cache then
tab.data( "loaded", false);
tabs.tabs( "option", "active", TAB_INDEX);
tabs.tabs("load", TAB_INDEX);

这将更改特定索引处选项卡的URL并加载该选项卡。

上述答案在JQuery 1.9+中不起作用。要使用jQueryUITabs 1.9+您必须执行以下操作

var tabs = $("#tabs");
var tab = $(tabs.data('uiTabs').tabs[TAB_INDEX]);
tab.find('.ui-tabs-anchor').attr('href', "NEW_URL");
// If cached initially. Remove cache then
tab.data( "loaded", false);
tabs.tabs( "option", "active", TAB_INDEX);
tabs.tabs("load", TAB_INDEX);

这将更改特定索引处选项卡的URL并加载该选项卡。

它们上的href是类似“#ui-tabs-1”的链接。如果我查看生成的html,会显示完整的href,如“/MyController/Action”。但是,如果我执行“警报($(this.attr('href')),它会显示为“#ui-tabs-1”。它们上的href是类似“#ui-tabs-1”的链接。如果我查看生成的html,会显示完整的href,如“/MyController/Action”。但是,如果执行“警报($(this.attr('href')),它显示为“#ui-tabs-1”。为什么这样的东西不起作用:$(“#tabs a.actionLink”).each(function(){$(this.data('href.tabs',”););呃,你不能加载google,因为它是跨域的。你使用的url是在同一个域上吗?是的,我尝试了一个本地域,它工作了,我只是在那里插入google进行测试。=)非常感谢!@redsquare他当然可以在jQuery>=1.5上加载。只需在ajax()参数中添加“crossDomain:true”。是的,它被称为jsonP(填充json)。它已集成到版本1.5的JQuery核心中。为什么这样的操作不起作用:$(“#tabs a.actionLink”).each(function(){$(this.data('href.tabs',”););呃,你不能加载google,因为它是跨域的。你的url是在同一个域上使用的吗?是的,我尝试了一个本地域,它工作了,我只是在那里插入google进行测试。=)非常感谢@在jQuery>=1.5的情况下,他肯定能做到。只需在ajax()参数中添加“crossDomain:true”。是的,它被称为jsonP(填充json)。它在1.5版上集成到JQuery核心中。感谢您为当前版本的JQuery UI更新此问题。感谢您为当前版本的JQuery UI更新此问题。