Отмена открытия разделов jQuery UI Accordion - PullRequest
0 голосов
/ 10 июля 2011

Я использую виджет аккордеона JQuery UI, и мне интересно, можно ли отменить действие открытия, используя событие changestart аккордеона.Из документации:

// This event is triggered every time the accordion starts to change.
$( ".selector" ).accordion({
   changestart: function(event, ui) { ... }
});

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

1 Ответ

0 голосов
/ 12 июля 2011

Вы можете просто загрузить содержимое события create ... это приведет к загрузке данных в div при создании аккордеона.

$('.selector').accordion({
    create : function(event,ui) {
        $('.some-div').load('/path/to/data');
    }
});

или вы, возможно, могли бы загрузить контент при загрузке страницы, прежде чем сделать аккордеон

$('.some-div').load('path/to/data');
$('.selector').accordion();

или вы можете отправить весь HTML, а затем сделать его аккордеоном

$('.selector').load('path/to/data').accordion();

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

$(function() {
    $('.selector').accordion();

    //Update every minute
    (function updateDiv() {
        $('.some-div').load('path/to/data');
        setTimeout(updateDiv,60000);
    })();
});
...