如何在Html和KnockOut JS下拉列表中动态设置索引?

时间:2012-10-04 09:52:23

标签: javascript html knockout-mvc

我有以下一点代码。我在我的Razor视图中使用Html,并将KnockOut JS绑定到我的下拉列表。

正如您所看到的,我已经以编程方式设置了索引,因为td是每个的一部分,我需要索引是唯一的。

我面临的问题是在选项部分,我只能通过实际硬编码来设置索引。

有人可以告诉我如何设置它,如下所示:

选项:viewModel.MyForm.Items()['+ Index()+']。SubItems()['+ Index()+']。MyItemsList(), value:viewModel.MyForm.Items()['+ Index()+']。SubItems()['+ Index()+']。Id, 对此有任何帮助将非常感激。

非常感谢。

<td>
<select data-bind="attr: { name: 'MyForm.Items[' + Index() + '].SubItems[' + Index() + '].Id', 
id: 'MyForm_Items[' + Index() + '].SubItems[' + Index() + ']._Id'}, 
options: viewModel.MyForm.Items()[0].SubItems()[0].MyItemsList(), value: viewModel.MyForm.Items()[0].SubItems()[0].Id, 
optionsCaption: 'Select', optionsText: 'Text', optionsValue: 'Value'"
data-val-required="Required." data-val-number="The field must be a number" data-val="true"></select></td>

1 个答案:

答案 0 :(得分:0)

为了澄清,您是否需要让TD携带一个唯一的ID来匹配您的模型的一部分? 否则,在每个循环之前和之后移动到,并在下拉列表中构建项目。

<td><select name='subitems' id='subitems'>
@{foreach (blah in ViewModel.MyForm.Items)
   {
      ...          
   }
}
</select>