Как изменить URL-адрес вкладки jquery ui, добавленной с помощью функций «add» и «tabTemplate»? - PullRequest
4 голосов
/ 19 февраля 2011

Я мог бы сделать это более трудным, чем нужно, но мне нужна помощь.У меня есть несколько вкладок JQuery UI, которые добавляются с помощью функции добавления.эти вкладки через ajax.

У меня есть tabTemplate, установленный следующим образом при начальном добавлении вкладок.

tabTemplate: "<li><a href='#{href}'>#{label},/a><li>"

А функция добавления вкладок выполняется через

$tabs.tabs('add', 'http://thanksforyourhelp/greatly/appreciated/, some_title_var)

Если на этой вкладке отправлена ​​форма, данные записываются в базу данных.В ответе содержится идентификатор строки, добавленной в базу данных.

При следующем посещении конкретной вкладки ссылка должна быть на самом деле 'http://thanksforyourhelp/greatly/appreciated/ID', где теперь известен идентификатор с момента ответа из формы (здесь ajaxа) отправил его обратно.Это позволит предварительно заполнить формы на странице на основе данных в базе данных для «ID».

Я рассмотрел пример здесь , но мой href - это идентификатор длярассматриваемая вкладка (а не URL).Где хранится фактическая ссылка?

Вкладка выглядит следующим образом.

<a href="#ui-tabs-6">new</a>

Я попытался изменить href для этого, но при нажатии на вкладку содержимое загружается без ajax вместо желаемой вкладки.Что я могу здесь делать не так?Спасибо за вашу помощь.

Редактировать : удалены изменения со ссылками на несуществующие URL.

Ответы [ 2 ]

2 голосов
/ 20 февраля 2011

Я не слишком много работал с вкладками на платформе AJAX, но, думаю, вам нужен метод url:

$("#tabs").tabs("url", index, url)

Изменить URL-адрес, с которого Ajax (удаленная) вкладка будет загружена. указанный URL будет использоваться для последующие загрузки. Обратите внимание, что вы можете не только изменить URL для существующая удаленная вкладка с этим методом, но и превратить вкладку на странице в удаленная вкладка.

1 голос
/ 30 июля 2013

Выше ответ не будет работать в JQuery 1.9+ как дескриптор здесь .Чтобы работать с вкладками jquery ui 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-адрес вкладки для определенного индекса и загрузит эту вкладку.

...