Проблем при използването на JQuery UI Accordion

Опитвам се да използвам JQuery Accordion, но срещам трудности при писането на кода.

 <div id="accordion">
    <h3><a href="/bg#" id="first">First header</a></h3>
    <div id="first_content">First content</div>
    <h3><a href="/bg#" id="second">Second header</a></h3>
    <div id="second_content">Second content</div>
</div>

Искам да променя съдържанието на div под първото заглавие, когато потребителят щракне върху заглавието, но не мога да разбера как трябва да напиша функцията за свързване и какво друго да спомена във функцията за акордеон

$( "#accordion" ).accordion({
   change: function(event, ui) { what to write in here }
});

$( "#accordion" ).bind( "accordionchange", function(event, ui) {
  what to write in here
});

Да предположим, че HTML съдържанието, с което трябва да се замени, присъства в

var html = '<h1>Accordion Usage</h1>';

person Apoorv Saxena    schedule 09.09.2011    source източник


Отговори (1)


От документацията:

$('.ui-accordion').bind('accordionchange', function(event, ui) {
  ui.newHeader // jQuery object, activated header
  ui.oldHeader // jQuery object, previous header
  ui.newContent // jQuery object, activated content
  ui.oldContent // jQuery object, previous content
});

Така че можете да използвате функциите на jQuery, за да замените съдържанието на елемента:

$( "#accordion" ).bind( "accordionchange", function(event, ui) {
    ui.newHeader.html("<h1>Accordion Usage</h1>");
});

или можете да предоставите обратното извикване при инициализация:

$( "#accordion" ).accordion({
    change: function(event, ui) { ui.newHeader.html("<h1>Accordion Usage</h1>"); }
});
person Dennis    schedule 09.09.2011
comment
Въпреки че не бихте искали да поставите тези <h1> тагове във вътрешния HTML на заглавката - person Sam Dufel; 09.09.2011
comment
Така че трябва да напиша само следното $( #accordion).accordion(); и ui.newHeader.html(‹h1›Използване на акордеон‹/h1›); - person Apoorv Saxena; 09.09.2011
comment
Можете да го снабдите с accordion или bind на събитие за смяна на акордеон. - person Dennis; 09.09.2011
comment
Използвам метода за обратно извикване при инициализация, но изглежда не работи за мен, въпреки че мога да видя акордеона, но нищо не се случва, когато щракна върху заглавията. - person Apoorv Saxena; 09.09.2011
comment
Разбрах грешката си... използвах wijaccordion вместо акордеон. Моя грешка!! - person Apoorv Saxena; 09.09.2011