2013-11-20 5 views
0

Я новичок в JavaScript и knockout.js. Моя проблема заключается в следующем:Как настроить прослушиватель для динамических кнопок того же класса?

<ul data-bind="foreach: myOuterArray"> 
    <li> 
     [...]  
     <table> 
      <tbody data-bind="foreach: a.myInnerArray"> 
       [...] 
      </tbody> 
     </table> 
     <button class="mybutton" data-bind="">Add items to myInnerArray</button> 
    </li> 
</ul> 

Я перебрать myOuterArray, чьи элементы (объекты типа а) получили внутренние массивы тоже. После представления элементов myInnerArrays я добавляю кнопку для каждого элемента myOuterArray. Кнопка открывает диалоговое окно jQuery UI с выбранным списком. Теперь эта кнопка должна добавить материал из диалога в соответствующий myInnerArray. Возможно, сегодня я немного замешан на восприятии, но я действительно не знаю, как настроить прослушиватель кнопок для .mybutton в моей модели viewmodel. Все поля можно наблюдать, если это имеет значение.

+0

Извините, моя ошибка! Я был болваном. Думаю, я не могу использовать атрибут привязки данных, потому что мне нужен JQuery UI Listener. Пожалуйста, удалите/забудьте этот вопрос! Сожалею! – mailivres

ответ

0

Не работает ли просто использовать привязку кликов на вашей кнопке?

<button class="mybutton" data-bind="click: handlerMethod">Add items to myInnerArray</button> 

Я полагаю, обработчик будет находиться в том же ViewModel, как ваш myOuterArray различимы, привязка будет более вероятно, будет click: $parent.handlerMethod

В рамках этого метода вы можете взять в качестве параметра данных, который был бы ток myOuterArray в соответствии с вашей структурой HTML.

handlerMethod: function(currentOuterArrayItem, event) { 
      //do stuff 
     } 
+0

Да, спасибо! Я ошибся с моим мнением ... – mailivres

0

Контекст кнопки является текущим элементом myOuterArray, поэтому, если тип А как функция называется typeAFoo она должна выглядеть

data-bind="click: typeAFoo" 

Ваш вопрос не не связаны с JQuery UI так удалить этот тег или изменить вопрос, если у вас действительно есть вопрос о ko с jQuery UI

+0

Да, спасибо! Я ошибся в своих мыслях ... – mailivres

Смежные вопросы