Javascript 如何获取knockoutjsforeach中控件的值
我有一个knockout foreach节,我试图获取绑定到每个节的click事件的函数中生成的控件的值。对于生成的每个部分,当我单击按钮时,我想知道它的注释是什么 //HTMLJavascript 如何获取knockoutjsforeach中控件的值,javascript,knockout.js,foreach,Javascript,Knockout.js,Foreach,我有一个knockout foreach节,我试图获取绑定到每个节的click事件的函数中生成的控件的值。对于生成的每个部分,当我单击按钮时,我想知道它的注释是什么 //HTML <div data-bind="foreach: areas"> <button data-bind="click: $parent.saveComment()" /> <input type="text" data-bind="text: comment" /> </d
<div data-bind="foreach: areas">
<button data-bind="click: $parent.saveComment()" />
<input type="text" data-bind="text: comment" />
</div>
HTML:
见:
通常对于
您需要使用值
绑定。您可以传递$data
,但这不是一项要求,因为该值将自动为您传递
<div data-bind="foreach: areas">
<button data-bind="click: $parent.saveComment">Save</button>
<input type="text" data-bind="value: comment"></input>
<br/>
</div>
或者,如果您愿意,只需在saveComment
的内部使用this
即可引用“当前”上下文
查看包含这两种用法的
<div data-bind="foreach: areas">
<button data-bind="click: $parent.saveComment($data)" />
<input type="text" data-bind="text: comment" />
</div>
saveComment: function(area){
console.log(rea);
}
<div data-bind="foreach: areas">
<button data-bind="click: $parent.saveComment">Save</button>
<input type="text" data-bind="value: comment"></input>
<br/>
</div>
saveComment: function (data) {
console.log(data.comment());
}
saveComment: function () {
console.log(this.comment());
}