JsViews复选框从内部循环绑定
JsViews Checkbox binding from an inner loop
我正在尝试使用JsViews 为内部循环中的复选框获取双向绑定
不确定这是否可能。
<div id="targetSelection"></div>
<script id="targetItem" type="text/x-jsrender">
<b>{^{:text}}</b>
<div id="answerswers_{^{: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>
JS代码:
var target = [{
"fieldName": "GENDER",
"text": "Gender",
"answerswers": [{
"index": 1,
"text": "Male"
}, {
"index": 2,
"text": "Female"
}, ]
}, {
"fieldName": "AGE",
"text": "Age",
"answerswers": [{
"index": 1,
"text": "15-19"
}, {
"index": 2,
"text": "20-24"
}, {
"index": 3,
"text": "25-29"
}, {
"index": 4,
"text": "30-34"
}, {
"index": 5,
"text": "35-39"
}, {
"index": 6,
"text": "40-44"
}, {
"index": 7,
"text": "45+"
}, ]
}];
$.each(target, function(questionIndex, question) {
$.each(question.answers, function(answerIndex, answer) {
answer.selected = true;
});
});
$("#targetSelection").html($.templates("#targetItem").render(target));
http://jsfiddle.net/22q7z9n9/
当复选框更改时,我还试图激发一个事件
提前感谢
您检查JsViews文档了吗?您正在调用render()
方法,而不是link()
方法,并且正在使用jsrender.js而不是jsonviews.js!
因此,您需要像示例页面中那样加载jsviews.js,然后编写:$.templates("#targetItem").link("#targetSelection", target);
请参阅http://www.jsviews.com/#jsv-快速启动
一旦你已经阅读了基础知识,你可以继续沿着以下路线:
{^{for answers}}
<label>
<input type="checkbox" data-link="selected" />
{{:text}} : {^{:selected}}
</label>
<br />
{{/for}}
对于该事件,有几个选项,包括直接绑定到输入更改事件,或侦听数据中可观察到的更改等(http://www.jsviews.com/#observe)。请参阅示例。。。
这是一个工作版本http://jsfiddle.net/28Lezc9m/4/.
我还将<div id="answerswers_{^{:fieldName}}" class='collapse'>
更改为<div data-link="id{:'answers_ + fieldName" class='collapse'>
,如本教程序列中所述。
相关文章:
- 注册OpenLayers事件时,即使使用匿名函数或绑定,JavaScript关闭也会触发循环内的所有内容
- Jquery将循环变量绑定到getJSON函数
- JsViews复选框从内部循环绑定
- 如何将InfoBoxes与googlemaps实用程序库v3绑定到循环中的点击侦听器
- jQuery使用最后一个参数在Javascript循环中单击绑定函数
- 动态绑定onclick事件为for循环中的所有按钮提供相同的值
- 在绑定到内部$http函数时运行无限摘要循环
- 通过 for 循环绑定会产生错误的结果
- Angularjs 指令,函数双向绑定陷入无限循环
- 使用 jQuery 将事件绑定到具有 for 循环的多个元素
- 余烬每循环加倍.使用内部每个循环变量的值绑定到外部每个循环的变量中命名相同的属性
- 在 Foreach 循环中使用 IF 条件来比较数据绑定值
- Ember.js – 将按钮操作从 #each 循环绑定到其自己的模型
- 绑定一个 onclick 函数,对象作为在循环中创建的锚标记上的参数
- 循环访问 Knockout - 绑定错误中的不同对象的数组
- 循环绑定对象
- 循环绑定以查找循环数
- 通过 for 循环绑定的事件中的数字值错误
- 使用循环绑定事件
- 如何只显示foreach循环绑定中的第一个元素