2011-06-29 3 views
4

Пожалуйста, обратите внимание на следующий код (также в this fiddle):привязка данных не работает после простого модального всплывающего окна

var viewModel = { 
    count:ko.observable(0), 
    add:function(){ 
    this.count(this.count()+1); 
     }, 
    popup:function(){ 
    $.modal($("#divPopup")); 
    } 
} 

ko.applyBindings(viewModel); 

И это соответствующий вид:

<button id="btnAdd" data-bind="click:add">Add</button> 
<button id="btnPopup" data-bind="click:popup">Popup</button> 
<div id="divPopup"> 
    <span data-bind="text:count"></span> 
</div> 

Сейчас:

  1. нажмите кнопку «Добавить»
  2. нажмите кнопку всплывающего окна
  3. нажмите в правом верхнем углу модального окна (жаль, что я не могу иметь «х» изображение)
  4. кнопку Добавить, не работают

Я не могу использовать:

$.modal($("#divPopup").html()); 

Потому что в моем приложении html не отображается, когда $.modal().

Или задать другой вопрос: как я могу узнать, когда рендеринг html был завершен, когда изменился режим viewModel?

ответ

9

Try прохождения сохраняется: верно для опции модальной(), как:

$("#divPopup").modal({ persist: true }); 

http://jsfiddle.net/rniemeyer/BxVF9/

+0

спасибо, это работает – Sxd

+0

Боже мой, спасибо, я бить мой голова против этого часами! – Otis

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