Возникла небольшая проблема, пытаясь объединить jQuery UI и knockout js. В основном я хочу создать аккордеон с добавлением предметов из нокаута через foreach (или шаблон).
Основной код выглядит следующим образом:
<div id="accordion">
<div data-bind="foreach: items">
<h3><a href="#" data-bind="text: text"></a></h3>
<div><a class="linkField" href="#" data-bind="text: link"></a></div>
</div>
</div>
Ничего впечатляющего здесь... Проблема в том, что если я сделаю что-то вроде:
$('#accordion').accordion();
Аккордеон будет создан, но внутренний div будет селектором заголовка (первый ребенок, по умолчанию), поэтому эффект не нужен.
Исправлено:
$('#accordion').accordion({ header: 'h3' });
Кажется, лучше работает, но на самом деле создает 2 аккордеона, а не один с двумя разделами... странно.
Я попытался изучить шаблоны нокаутов и использовать "afterRender" для повторного аккордеона div, но безрезультатно... он, похоже, повторно отображает только первую ссылку как аккордеон, а не вторую. Вероятно, это связано с моим новичком в jQuery UI в любом случае.
Есть ли у вас идея, как все работать вместе?