Вкладки jqueryui: определение новой вкладки для добавления в нее содержимого - PullRequest
1 голос
/ 03 декабря 2011

Я использую код вкладок jqueryui, добавляю новые вкладки и динамически создаю новый контент на новых вкладках с помощью ajax. Однако проблема в том, что я не могу надежно выбрать новую вкладку, а мой новый контент попадает на первую вкладку. Код, который я использую, выглядит следующим образом:

var $tabs = $("#tabs").tabs({
   tabTemplate: "...etc",
   add: function(event, ui) {

   $(ui.panel).append("<p id=\"demo\"></p>");

   $.ajax({
     type:     "POST",
     url:      "comms.php",
     data:     {country:tab_content},
     dataType: "script"
});

php-код на сервере записывает в пункт 'demo', но проблема в том, что $(ui.panel) всегда выбирает 'demo' на первой вкладке. Я пробовал несколько вариантов этого, в том числе

$('tabs').tabs("select", ui.panel.id);
$(ui.panel).append("<p id=\"demo\"></p>");

и

var top  = $(ui.panel).get(0);
var demo = document.createElement("p");
demo.setAttributeNS(null, "id", "demo");
top.appendChild(demo);

без удачи. Есть идеи, как выбрать новую вкладку для вывода? Спасибо.

1 Ответ

0 голосов
/ 07 декабря 2011

Полагаю, ваша проблема возникает из-за того, что все <div>, добавленные вами к ui.panel в вашем add обратном вызове, имеют одинаковый идентификатор. должен быть уникальным.

Попробуйте дать им другой идентификатор.

...