我已就这个问题做过一些研究,但我找不到任何真正有用的东西。
我的问题:
我有一个项目列表(在SharePoint中),我正在使用KnockoutJS foreach语句显示包含所有这些表的表。像这样:
数量|价格| Total_Price | RadioButton1 | RadioButton2
正如你所看到的那样,有2个单选按钮,必须为它们使用id属性(因为我也使用JqueryUI - 标签为''id of element' - )
我试过这样的事情>
代码示例:
.....
<%int i = 1; %GT;
&LT; ! - - ko foreach:Items - &gt; ........<input type="radio" id="Yes+<%=i %>"/> <label for="Yes+<%=i %>" >Yes</label> <input type="radio" id="No+<%=i %>" /> <label for="No+<%=i %>">No</label> </td>
&LT;%I ++; %GT;
&LT; ! - / ko - &gt;
事情是asp代码无法识别ko foreach迭代。
有什么想法吗?谢谢
答案 0 :(得分:8)
你可以在Item视图模型上放置Id然后使用它吗?
< ! - - ko foreach: Items --> ........
<input type="radio" data-bind="attr: { id: 'Yes' + Id }" />
<label data-bind="attr: { 'for': 'Yes' + Id }" >Yes</label>
<input type="radio" data-bind="attr: { id: 'No' + Id } />
<label data-bind="attr: { 'for': 'No' + Id }">No</label>
</td>
< !-- /ko -->
或使用Macropus建议的可观察索引:
< ! - - ko foreach: Items --> ........
<input type="radio" data-bind="attr: { id: 'Yes' + $index() }" />
<label data-bind="attr: { 'for': 'Yes' + $index() }" >Yes</label>
<input type="radio" data-bind="attr: { id: 'No' + $index() } />
<label data-bind="attr: { 'for': 'No' + $index() }">No</label>
</td>
< !-- /ko -->
答案 1 :(得分:0)