0

我正在尝试使用twitter bootstrap模式对话框来获取淘汰赛js。为什么使用knockout js时这个twitter bootstrap模式不起作用?

我已经从knockout js网站取得了联系人编辑器的例子,并将其改为使用模式对话框进行添加/编辑。

我花了很长时间试图使它工作,但由于某种原因,它不是。提前

http://jsfiddle.net/27pscgnk/5/

感谢您的任何解决方案

我觉得问题可能出在这里(这当用户点击保存是没有得到所谓的):

你可以在这里查看:

self.addContact = function() { 
    self.contacts.push({ 
     firstName: "", 
     lastName: "", 
     phones: ko.observableArray() 
    }); 
}; 
+0

这个问题不引导,问题是你我们引用firstName和lastName,这是观察到的阵列中,只能引用在forEach绑定中,试试这个http://jsfiddle.net/27pscgnk/6/ – Shiala 2014-12-01 22:37:05

回答

2

我删除了一些错误的小提琴,改变了附加功能,根据您输入的工作,看看小提琴ñ流http://jsfiddle.net/27pscgnk/6/

self.contact = { 
    firstName: ko.observable(), 
    lastName: ko.observable(), 
} 

self.addContact = function() { 
    self.contacts.push({ 
     firstName: self.contact.firstName(), 
     lastName: self.contact.lastName(), 
     phones: ko.observableArray() 
    }); 
}; 

,并在绑定:

<div class="form-group"> 
    <label for="inputNameLbl" class="col-sm-2 control-label">First Name</label> 
    <div class="col-sm-10"> 
     <textarea data-bind="value: contact.firstName"></textarea> 
    </div> 
</div> 
<div class="form-group"> 
    <label for="inputDescLbl" class="col-sm-2 control-label">Last Name</label> 
    <div class="col-sm-10"> 
      <textarea data-bind="value: contact.lastName"></textarea> 
    </div> 
</div>