2010-05-07 113 views
0

我有一個當前正在以表格格式生成動態創建的文本框的頁面。用戶正在請求將標籤順序從水平垂直變爲垂直水平。我知道你可以使用tabindex屬性來控制標籤排序,但是我不能爲我的生活尋找正確的方式來正確地獲取文本框的序列號。我想這比其他任何事都更像是一個數學問題!在動態表中垂直設置tabindex,然後水平設置

僅供參考,文本框是在循環兩個不同的集合時創建的。第一個循環爲每行創建行,第二個集合(這是第一個集合對象的屬性)循環以創建列。

任何幫助將不勝感激。謝謝!

回答

3

你需要三個變量來得到這個工作:

  • 的總行數
  • 當前行的索引
  • 當前列索引

然後,您可以實現垂直製表通過將tabindex設置爲:

totalRowCount * currentColumnIndex + currentRowIndex + 1 

對於五排,三列的表上面的計算將會使標籤順序爲:

1 5 10 
2 6 11 
3 7 12 
4 8 13 
5 9 14 

更新時間:威爾,感謝指出了這一點。我更新了這個例子。我還檢查了W3C spec(我也許應該這樣做第一),其中明確了行爲:

元素不支持 的tabindex屬性或支持它,並 分配給它的「0」值導航 下一個。這些元素在 中的導航順序是它們出現在字符 流中的。

+0

TabIndex不喜歡0所以我加了+1,再次感謝 – Wil 2010-05-07 17:48:22