У меня есть большая таблица ввода данных HTML, реализованная в виде большой матрицы полей ввода. Я пытаюсь реализовать функцию на основе JavaScript, которая динамически переключается между порядком вкладок по строкам и по столбцам.Не удается установить tabIndex более одного раза в IE8
Подход, который я использую, работает только один раз в IE8. То есть, после того, как индекс табуляции был установлен с использованием JavaScript, любые последующие изменения игнорируются - и порядок табуляции возвращается к состоянию по умолчанию.
Входы таблица имеют имена классов, как так:
.row-0 .col-0 | .row-0 .col-1 | .row-0 .col-2 | ...
--------------+---------------+---------------+----
.row-1 .col-0 | .row-1 .col-1 | .row-1 .col-2 | ...
My JavaScript выглядит следующим образом:
nCols = ...;
nRows = ...;
function setTabOrder(byCol) {
var max = byCol ? nCols : nRows;
var selector = byCol ? '.col-' : '.row-';
var tabIndex = 1;
for (var i = 0; i < max; i++) {
$(selector + i).each(function() {
this.tabIndex = tabIndex++;
//this.value = this.tabIndex;
});
}
}
На самом деле, мне кажется, я могу только вкладку по столбцам, если я призываю setTabOrder(true);
при загрузке страницы , то есть:
$(function() {
setTabOrder(true);
});
Любые идеи, почему это не работает, как я ожидаю?
Ну, номера строк и столбцов генерируются динамически вместе с остальной частью таблицы, поэтому сохранение этого не является проблемой. Но это похоже на правильное решение, которое я рассмотрю, если не удастся добиться того, что я пытаюсь сделать. – harto