7

私はこのテーマについていくつかの調査を行いましたが、これに本当に役立つものは見つかりませんでした。

私の問題

(SharePoint内の)アイテムのリストがあり、KnockoutJSforeachステートメントを使用してすべてのアイテムを含むテーブルを表示しています。このような:

数量| 価格| Total_Price | RadioButton1 | RadioButton2

ご覧のとおり、2つのラジオボタンがあり、それらにはid属性を使用する必要があります(JqueryUI --label for ='id of element'-も使用しているため)

私はこのようなことを試みました>

コードの例:

....。

<%int i = 1; %>
<!--- ko foreach:アイテム->.......。

     <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>

<%i ++; %>

<!-/ ko->

問題は、aspコードがkoforeachの反復を認識しないことです。

何か案は ?ありがとうございました

4

2 に答える 2

10

アイテムビューモデルに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 -->
于 2012-10-12T13:23:05.693 に答える
0

これをラベルに使用しているだけなので、この投稿ではノックアウトのuniqueidバインディングを使用できます。

ノックアウトでのUniqueIDバインディング

一意の名前のバインディングもあります

于 2012-10-12T13:21:19.563 に答える