dev*_*evC 2 tabindex knockout.js
我需要使用knockout将tabindex设置为动态生成的控件.我在UI级别中对数据进行了数据绑定,但似乎无法正常工作.以下是数据绑定的HTML代码:
<tbody data-bind="foreach: Week1">
<tr class="formFields" style="vertical-align: top;">
<td class="formFields" width="8%" data-bind="text: Day">
</td>
<td class="formFields" width="5%" align="center">
<select class="combobox" data-bind="value:Required, attr:{tabindex: 42 + Date + $index()}" >
<option value="E">Eligible</option>
<option value="O">On</option>
<option value="F">Off</option>
</select>
</td>
<td class="formFields" width="10%" align="center" >
<input class="txtbox" type="text" placeholder="S:" data-bind="value:SetupTime, attr: { tabindex: 43 + Date + $index() }/>
<input class="txtbox" type="text" placeholder="R:" data-bind="value:CloseTime, attr: { tabindex: 44 + Date + $index() }" />
</td>
<td class="formFields" width="10%" align="center">
<input class="txtbox" type="text" placeholder="Min:" data-bind="value:MinHrsPerDay, attr: { title: tabindex: 45 + Date + $index() }"/>
<input class="txtbox" type="text" placeholder="Max:" data-bind="value:MaxHrsPerDay, attr: { title: tabindex: 46 + Date + $index() }"/>
</td>
<td class="formFields" width="6%" align="center">
<input class="txtbox" align="middle" type="text" data-bind="value:MinWorkShift, attr: { tabindex: 47 + Date + $index() }"/>
</td>
</tr>
</tbody>
Run Code Online (Sandbox Code Playgroud)
这里Date是我的viewmodel的属性,表示天为0-6.由于可以有多行,我使用$ index()来计算每行中控件的选项卡索引.
但这是我在运行时看到的:
<input type="text" data-bind="value:SetupTime, attr: { tabindex: 43 + Date + $index() }" placeholder="S:" class="txtbox" tabindex="43function d(){if(0<arguments.length){if(!d.equalityComparer||!d.equalityComparer(c,arguments[0]))d.H(),c=arguments[0],d.G();return this}b.r.Wa(d);return c}2">
Run Code Online (Sandbox Code Playgroud)
有人可以帮我纠正一下吗?
提前致谢
因为你的Date
属性是一个ko.observable
所以你需要通过将它作为一个函数来调用它来获得它的值,所以Date()
.
所以你需要将绑定更改为:
data-bind="value:SetupTime, attr: { tabindex: 43 + Date() + $index() }"
Run Code Online (Sandbox Code Playgroud)
Date()
如果你在一个表达式中使用你的observable,你只需要调用它43 + Date() + $index()
(注意()
也在.之后$index
).
如果你直接绑定到可观察到的,那么你不需要()
在像data-bind="value:Required"
,因为在这种情况下,你KO会自动"解开"的值.
归档时间: |
|
查看次数: |
2993 次 |
最近记录: |