Javascript 如何获取knockoutjsforeach中控件的值

Javascript 如何获取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

我有一个knockout foreach节,我试图获取绑定到每个节的click事件的函数中生成的控件的值。对于生成的每个部分,当我单击按钮时,我想知道它的注释是什么

//HTML

<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());
}