Добавить вкладки jQuery внутри div, созданного с помощью javascript

Я хочу использовать вкладки jQuery (http://jsfiddle.net/43FcS/2/) внутри div, созданный с помощью javascript.

Прямо сейчас я создаю локатор магазинов для магазина, в котором я работаю. Я использую подключаемый модуль jQuery для поиска магазинов, созданный Бьорном (http://www.bjornblog.com/web/jquery-store-locator-plugin).

Когда пользователь нажимает поиск, результаты поиска (4 ближайших магазина к введенному адресу) будут перечислены. В каждом li я думал о создании div с классом «shoptab». В каждом div я хочу показать 2 вкладки (адрес и часы работы), как в ссылке выше. Мой javascript создает li со следующей функцией:

$('<li />').html("<div class=\"shoptab\"><h2 class=\"loc-name\"> Shop " + storeName + "<\/h2> <ul><li><a href=\"#tabs-1\">Address<\/a><\/li> <li><a href=\"#tabs-2\">Opening hours<\/a><\/li><\/ul> <div id=\"tabs-1\"><p>" + storeAddress1 + "<\/p> <p>" + storeAddress2 + "<\/p> <p>" + storeCity + ", " + storeState + " " + storeZip + "<\/p> <p>" + storePhone + "<\/p> <\/div> <div id=\"tabs-2\"><p>" + storeHours1 + "<\/p> <p>" + storeHours2 + "<\/p> <p>" + storeHours3 + "<\/p> <\/div><\/div>")

Я знаю, что не могу использовать идентификаторы tabs-1 и tabs-2, так как они будут использоваться несколько раз, но сейчас я просто хотел, чтобы они по крайней мере отображались, а затем после этого корректировали код, чтобы дать идентификаторы div 1,2,3, 4 и т. д.

Моя функция для вкладок jQuery написана внизу документа вместе с моей функцией поиска магазинов.

$(function() {
        $(".shoptab").tabs();
    });

Сценарий пользовательского интерфейса jQuery не применяет классы к div и ul/li shoptab внутри, и я не могу понять, как заставить его работать.

Я надеюсь, что с помощью этой информации вы сможете мне помочь.


person jtn89    schedule 14.06.2012    source источник


Ответы (1)


Я думаю, проблема в том, что $(".shoptab").tabs(); вызывается до того, как в документе появится требуемый html.

Вы должны вызвать $(".shoptab").tabs(); после того, как вы вставили HTML в документ, т.е. после всех

$('<li />').html("<div class=\"shoptab\"><h2 class=\"loc-name\"> Shop " + storeName + "<\/h2> <ul><li><a href=\"#tabs-1\">Address<\/a><\/li> <li><a href=\"#tabs-2\">Opening hours<\/a><\/li><\/ul> <div id=\"tabs-1\"><p>" + storeAddress1 + "<\/p> <p>" + storeAddress2 + "<\/p> <p>" + storeCity + ", " + storeState + " " + storeZip + "<\/p> <p>" + storePhone + "<\/p> <\/div> <div id=\"tabs-2\"><p>" + storeHours1 + "<\/p> <p>" + storeHours2 + "<\/p> <p>" + storeHours3 + "<\/p> <\/div><\/div>") 

выполнил

person U.P    schedule 14.06.2012