автоматически генерировать вкладки jquery - PullRequest
2 голосов
/ 19 мая 2011

Попробовав несколько вариантов (вкладки пользовательского интерфейса jQuery и вкладки jQuery Tools) и не получив правильных результатов ни от одного из них ... вот и я.

Что я хочу сделать:

Динамически генерировать всю структуру вкладок при загрузке страницы. Данные, которые будут использоваться для создания вкладок, находятся в базе данных mySql и извлекаются через getJSON ().

Я, как правило, возвращаю ВСЕ мои данные, и они, кажется, помещаются в правильное местоположение DOM (то есть в DIV моих «вкладок»), но когда я вызываю («#tabs»). Tabs (); функции, вкладки не отображаются правильно.

Я могу предоставить код, но хотел бы посмотреть, что предлагают другие. Кто-нибудь сталкивался с проблемой динамического создания всей структуры вкладок? Кто-нибудь заставить его работать правильно?

Любые мысли очень ценятся.


Хорошо, вот код, который я использую для создания вкладок, я публиковал это раньше, но, как я уже говорил в оригинале, я хочу посмотреть, делал ли кто-нибудь еще динамическое создание всей структуры вкладок. .

Используя это, я получаю все «вкладки», уложенные вертикально, со всеми «панелями» под ними, снова уложенные вертикально.

var stateData;

$.getJSON("getStateData.php", function(data) {
    stateData = data;
    var $theLastGroup = "zzzzz";
    var $ulItems = "<ul class='groupTabs'>\n";
    var $divItems = "";

    $.each(stateData, function(i,jsonData) {

        if( $theLastGroup != jsonData.groupName )
        {
            $ulItems = $ulItems+"<li><a href='#"+jsonData.groupName+"'>"+jsonData.groupID+"</a></li>\n";

            if( i > 0 ) 
            {
                $divItems = $divItems+"</div>\n";           
            }
            $divItems = $divItems+"<div id='"+jsonData.groupName+"'>\n";

            $theLastGroup = jsonData.groupName;
        }

        $divItems = $divItems+"<span sname='"+jsonData.stateName+
            "' lat='"+jsonData.centerLat+
            "' lon='"+jsonData.centerLon+
            "' zom='"+jsonData.zoom+"' >"+jsonData.stateName+"</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\n";

    });
    $ulItems = $ulItems+"</ul>\n";
    $divItems = $divItems+"</div>\n";


    $("#tabs").append($ulItems);
    $("#tabs").append($divItems);

    $("#tabs").tabs();
});

05-20-2011 - У кого-нибудь еще есть мысли по этому поводу? Я пропустил финал </div>, но это не имело значения .... (я добавил код выше).

1 Ответ

0 голосов
/ 27 мая 2011

если я не ошибаюсь, ваша проблема заключается в выравнивании вкладок, сгенерированных вашим кодом.

и если это реальная проблема.попробуйте написать простой неупорядоченный список css-тегов для класса, который вы использовали в своем коде.

вот так ..

ul.groupTabs li{float:left; padding 10px; display:block;}

надеюсь, это поможет вам ...

~ Gio

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...