0

KnockoutJSを使用しています。ドロップダウンのサブスクライブ機能にいる間。選択したドロップダウンのインデックスを取得する必要があります。

ドロップダウンがテーブル内にある場合(つまり、foreach tr)

HTML:

<table>
    <tbody  data-bind="foreach: Rows">
      <tr>
         <td>
            <select data-bind="options: Materials, value: selectedMaterial,attr:{index:$(index)}"></select>
        </td>
      </tr>
</table>

脚本:

    this.selectedMaterial.subscribe(function(data){
       // I need to get the index value of the selectedMaterial

       // i try to get like following code but its not working
          var k =$(this).attr("index"); 
    });
4

2 に答える 2

2

KOがサブスクライブ機能でそれを行うことは不可能です。変更イベントの処理など、別の方法を試す必要があります。

<select data-bind="event: {change: selectChanged}"... />

yourViewModel.selectChanged = function(data, event){
     var k = $(event.target).attr("index"); 
});
于 2013-02-01T09:08:19.153 に答える
0

data-bindを使用して要素のIDを設定してから、jQueryを使用して値を取得できます。

        <select data-bind="options: Materials, value: selectedMaterial,attr:{index:$(index), id: 'dropdown' + $index }"></select>

$('#dropDown' + theIndexOfTheTable).prop('selectedIndex');

これは、処理しているテーブルのインデックスを知っていることを前提としています。

于 2013-02-01T09:09:39.170 に答える