Javascript Rails和knockout.js绑定嵌套元素,而不在字段\u中使用foreach
我将rails 3.2与knockout.js和ko.mapping一起使用。我可以从我的json数据映射并创建我的viewModel,在js控制台中,我可以查看数据树。在我的视图中,我使用form_for和字段来渲染我的视图。我不知道的是,如何在不必使用KO foreach或with的情况下,对字段_中的输入进行数据绑定。我的json的结构如下所示Javascript Rails和knockout.js绑定嵌套元素,而不在字段\u中使用foreach,javascript,jquery,ruby-on-rails,json,knockout.js,Javascript,Jquery,Ruby On Rails,Json,Knockout.js,我将rails 3.2与knockout.js和ko.mapping一起使用。我可以从我的json数据映射并创建我的viewModel,在js控制台中,我可以查看数据树。在我的视图中,我使用form_for和字段来渲染我的视图。我不知道的是,如何在不必使用KO foreach或with的情况下,对字段_中的输入进行数据绑定。我的json的结构如下所示 { "ss_sections": [ { "ss_lines": [ { "ss_li
{
"ss_sections": [
{
"ss_lines": [
{
"ss_line_cells": [
{
"cell_name": "credits",
"cell_value": "124795.00",
},
]
}
]
}
]
}
既然我的字段\u for已经在我的元素中循环,我该如何在输入上写出我的数据绑定属性来直接指向单元格\u值而不使用knockout.js循环?数据绑定属性仍然需要导航由数据映射生成的对象层次结构,因此,我认为如果不在服务器上生成类似以下混乱html的内容(fiddle:),您是无法逃脱的:
它看起来很统一,而且很容易生成
您确定需要在服务器上生成html吗?为什么不直接将json发送到客户机并使用标准的foreach/with在客户机上生成?在现有代码被重新分解之前,我们只能使用现有的视图代码。谢谢你的回答,它工作得很好,对我来说应该是显而易见的,但这就是我看到它太久的原因。再次感谢。
<table id="ss_section0">
<tr id="ss_line0">
<td id="cell0">
<span data-bind="text:ss_sections()[0].ss_lines()[0].ss_line_cells()[0].cell_name"></span>
</td>
<td id="cell1">
<span data-bind="text:ss_sections()[0].ss_lines()[0].ss_line_cells()[1].cell_name"></span>
</td>
</tr>
<tr id="ss_line1">
<td id="cell0">
<span data-bind="text:ss_sections()[0].ss_lines()[1].ss_line_cells()[0].cell_name"></span>
</td>
<td id="cell1">
<span data-bind="text:ss_sections()[0].ss_lines()[1].ss_line_cells()[1].cell_name"></span>
</td>
</tr>
</table>