Rumah > Soal Jawab > teks badan
直接上代码
rt 一个个人信息的页面 有名字和孩子两种属性,孩子是个数组,用knockoutjs绑定以后 ,每次点击增加 都会增加一个输入框 ,但是 点击输出按钮的时候控制台答应出来 children 信息 一直是个空数组
,没有随着input框变化
function Person(name.children){
var self = this
self.name = ko.observable(name);
self.children = ko.observableArray(ko.utils.arrayMap(children,function(child){
return ko.observable(child);
}));
self.addChild = function() {
self.children.push(ko.observable(" "));
}.bind(self);
}
var model = new Person('',['']) ;
ko.applyBindings(model)
$(".btn").click(function(){
var tmpDATA = ko.toJSON(model.emailAddress())
console.log(tmpDATA);
})
<p><input data-bind="value:text"></p>
<ul data-bind="foreach:children">
<li ><input type="text" data-bind="value:$data"/></li><button data-bind="click:$root.addChild"></button>
</ul>
<button class="btn">输出数据</button>
怪我咯2017-04-11 13:13:41
第一:$data是不是ko的只是一个普通的js变量,因此你的addChild方法执行,跟本无法添加你输入的值。
第二:你为什么总是push空的值啊,你应该push你输入的值。