настройка индекса вкладок для детей в привязке нокаута

У меня есть данные таблицы, связанные с использованием нокаута. Здесь у меня есть родительские и дочерние строки. например

 <tr>
                                <td>
                                    <select data-bind="value:Required, enable:RequiredActive, attr:{tabindex: 43 * ($index() + 1) }">
                                        <option value="E">Eligible</option>
                                        <option value="O">On</option>
                                        <option value="F">Off</option>
                                    </select>
                                </td>
                                <td>
                                   <input data-bind="value:SetupTime, attr: { title: tabindex: 44 * ($index() + 1) }"/>
                                   <input data-bind="value:CloseTime, attr: { title: tabindex: 45 * ($index() + 1) }" />
                                </td>
                                <td>
                                    <table>
                                        <tbody data-bind="foreach: WorkSegments">
                                            <tr>
                                                <td>
                                                    <select data-bind="options:Locations, value:Location, optionsText: 'Name', optionsValue: 'ID', attr:{tabindex: 49 * ($parentContext.$index + 1) }" >
                                                    </select>
                                                </td>
                                            </tr>
                                        </tbody>
                                    </table>
                                </td>
                                <td>
                                    <table>
                                        <tbody data-bind="foreach: WorkSegments">
                                            <tr>
                                                <td>
                                                    <select class="combobox" data-bind="options:EmployeeRoles, value:Role, optionsText: 'Name', optionsValue: 'ID', attr:{tabindex: 49 * ($parentContext.$index + 1)}" >
                                                    </select>
                                                </td>
                                            </tr>
                                        </tbody>
                                    </table>
                                </td>

                            </tr>

Здесь раскрывающиеся списки Location и EmployeeRole являются дочерними и могут встречаться несколько раз в родительском. Поэтому при настройке индекса вкладки я использовал '$parentContext.$index', но во время выполнения для всех дочерних элементов управления я получаю tabindex='NAN'

Я также пытался использовать $parent.index(), но безуспешно.

Благодарю за помощь


person devC    schedule 21.05.2013    source источник


Ответы (1)


Вы должны использовать $parentContext.$index(), а не $parent.index():

<select data-bind="options:Locations, value:Location, optionsText: 'Name', optionsValue: 'ID', attr:{tabindex: 49 * ($parentContext.$index() + 1) }" >
                                                    </select>

Вот рабочий пример: http://jsfiddle.net/CVL4q/

person Artem Vyshniakov    schedule 21.05.2013
comment
спасибо, это сработало! Моя ошибка заключалась в том, что я использовал $parentContext.$index вместо $parentContext.$index() - person devC; 22.05.2013