2013-12-03 50 views
-1

我將tabindex應用於foreach列表中textareas的多行。每行末尾有一個按鈕。我需要從左到右的跳位序列,每一行進行到下一行,等等。Knockout.js Tabindex在foreach

它如何使前面的行以比前面的行更高的數開始? 如:我期望: 第1行:1,2,3 tabindex屬性排 2:4,5,6 tabindex屬性

,但我得到(第二行開始1小於預期): 排1:1 tabindex屬性,2,3 行2:3,4,5 tabindex屬性

<ul data-bind="foreach: myForEach"> 
    <li> 
     <div class="span11"> 
     <textarea rows="3" data-bind="attr: { tabindex: ($index() + 1) }"></textarea> 
     </div> 

     <div class="span11"> 
     <textarea rows="3" data-bind="attr: { tabindex: ($index() + 2) }"></textarea> 
     </div> 

     <a data-bind="attr: { tabindex: ($index() + 3) }">delete row</a> 

    </li> 
    </ul> 

回答

2

你應該乘以3指數:

data-bind="attr: { tabindex: ($index() * 3 + [index]) }" 

的完整代碼:

<ul data-bind="foreach: myForEach"> 
    <li> 
     <div class="span11"> 
      <textarea rows="3" data-bind="attr: { tabindex: ($index() * 3 + 1) }"></textarea> 
     </div> 
     <div class="span11"> 
      <textarea rows="3" data-bind="attr: { tabindex: ($index() * 3 + 2) }"></textarea> 
     </div> 
     <a data-bind="attr: { tabindex: ($index() * 3 + 3) }">delete row</a> 
    </li> 
</ul> 
+0

工作。乘以3的乘積是多少? – simple

+0

這個量的控件。 – alexmac