为什么这个twitter bootstrap模式在使用knockout js时不起作用?

时间:2014-12-01 21:52:04

标签: javascript jquery twitter-bootstrap knockout.js modal-dialog

我正在尝试使用twitter bootstrap模式对话框进行淘汰赛。

我已经从淘汰赛js网站上获取了联系人编辑器示例,并将其更改为使用模态对话框进行添加/编辑。

我花了很长时间试图让它发挥作用,但由于某种原因它不是。

您可以在此处查看:

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

提前感谢任何解决方案

我认为问题可能在这里(当用户点击保存时不会调用此问题):

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

1 个答案:

答案 0 :(得分: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>