Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Переход по ссылке в tab-ах от JQ, в этом же tab-e без перезагрузки

21K
25 ноября 2010 года
DeamonShan
65 / / 14.05.2008
Код:
$(document).ready(function(){
    var urls=new Array();
    var urlLoad=new Array();
$(function(){
    $("#tabs").tabs({
        select: function(event, ui){
            if(urlLoad[ui.panel.id]){
                $(ui.panel).load(urls[ui.panel.id]);
                urlLoad[ui.panel.id]=false;
            }
            //return false;
        },
        load: function(event, ui){
            $("a").click(function(){
                $(ui.panel).load(this.href);
                //return false;
            });
        }
    });
});
});


Вот такой код. Хотел, чтобы все переходы во вкладке октрывались в этой же вкладке без перезагрузки страницы, но мой код не работает, в чем проблема? этот пример из документации JQ взят. Однако не работает. и метод select: тоже не работал, пока не закомментирвоал return false;

Помогите разобраться.
285
26 ноября 2010 года
Romik
479 / / 24.11.2002
return false нужен в обоих случаях, однако не могу сказать почему вам пришлось его закомментировать.
В случае с load есть смысл использовать контейнер в самом тексте, что загружается во вкладку. Т.е. данные, загружаемые в обработчике select должны быть обёрнуты в некий контейнер, например <div id="tab_container"></div>, в обработчике click вместо селектора ui.panel используйте $("#tab_container").load(); Это простое и достаточно надёжное решение.
21K
26 ноября 2010 года
DeamonShan
65 / / 14.05.2008
Вкладки открываются динамически, и id им не присвается. Обращаюсь к вкладкам по порядковому номеру. Да и потом, даже если просто


 
Код:
load: function(event, ui){
            $("a").click(function(){
                alert();
                //$(ui.panel).load(this.href);
                //return false;
            });
        }




все равно не вешается событые на ссылки. может потому что контент загружается аяксом? Пробовал даже bind-ом, никаких измений.

return false; - не переключает на вкладку. то есть подгрузка контента происходит, но на вкладку не переключается, поэтому пришлось закомментить.
244
26 ноября 2010 года
UAS
2.0K / / 19.07.2006
Цитата:
все равно не вешается событые на ссылки. может потому что контент загружается аяксом? Пробовал даже bind-ом, никаких измений.


По этой проблеме - надо юзать live()-метод.

21K
26 ноября 2010 года
DeamonShan
65 / / 14.05.2008
live() - не помогло. по моему не выполняется свойство load объекта tabs. как это можно проверить?
21K
02 декабря 2010 года
DeamonShan
65 / / 14.05.2008
Никто не знает как решить эту проблему?
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог