Javascript JsViews从内部循环绑定复选框

Javascript JsViews从内部循环绑定复选框,javascript,jquery,checkbox,2-way-object-databinding,jsviews,Javascript,Jquery,Checkbox,2 Way Object Databinding,Jsviews,我正在尝试使用JSView为内部循环中的复选框获取双向绑定 不确定这是否可行 <div id="targetSelection"></div> <script id="targetItem" type="text/x-jsrender"> <b>{^{:text}}</b> <div id="answers_{^{:fieldName}}" class='collapse'> {^{for answers ~

我正在尝试使用JSView为内部循环中的复选框获取双向绑定

不确定这是否可行

<div id="targetSelection"></div>
<script id="targetItem" type="text/x-jsrender">
  <b>{^{:text}}</b>
  <div id="answers_{^{:fieldName}}" class='collapse'>
    {^{for answers ~fieldName=fieldName}}
    <label>
      <input type="checkbox" data-fieldName="{{>~fieldName}}" data-index="{{:index}}" data-link="{:selected}" checked="{^{:selected}}" /> {{:text}} : {^{:selected}}
    </label>
    <br /> {{/for}}
  </div>
  <br />
</script>

我还试图在复选框更改时触发事件


提前感谢

您是否查看了JsViews文档?您正在调用
render()
方法,而不是
link()
方法,并且正在使用jsrender.js而不是jsviews.js

因此,您需要像中一样加载jsviews.js,然后编写:
$.templates(“#targetItem”).link(“#targetSelection”,target)

阅读基础知识后,您可以继续以下内容:

{^{for answers}}
  <label>
    <input type="checkbox" data-link="selected" />
    {{:text}} : {^{:selected}}
  </label>
  <br />
{{/for}}
{^{答案}
{{:文本}:{^{:选定}

{{/for}}
对于事件,有几个选项,包括直接绑定到输入更改事件,或侦听数据中可观察到的更改等()。参见示例

这是一个工作版本


我还将:
更改为
——如中所述。

不起作用,我已经尝试了该语法,不确定是否存在内部循环问题:这是因为正如我所说,您实际上没有使用jsviews.js。请参阅上面我的更新答案,以及正在运行的JSFIDLE。。。
{^{for answers}}
  <label>
    <input type="checkbox" data-link="selected" />
    {{:text}} : {^{:selected}}
  </label>
  <br />
{{/for}}