Индекс вкладки на плавающих входах

У меня есть страница с макетом for, где одна половина страницы имеет динамическую ширину, а другая фиксированная. Это достигается перемещением стороны фиксированной ширины вправо. Все отображается нормально, но поскольку разметка фиксированной ширины предшествует разметке динамической ширины, порядок табуляции сбрасывается.

См. здесь: http://jsfiddle.net/BaMqG/

Как я могу преодолеть это, не прибегая к установке свойств tabindex на входы?


person CeejeeB    schedule 30.03.2012    source источник
comment
1. Вы хотите перемещаться по введенным данным по строкам или по блокам? 2. Можете ли вы покинуть фиксированную группу? 3. Что не так со свойством tabindex?   -  person Fabrizio Calderan    schedule 30.03.2012
comment
1. Я хочу перемещаться по строке слева направо. 2. Фиксированная группа должна идти после динамической группы. 3. Форма может увеличиваться в размере (больше входных данных) с помощью javascript, поэтому отслеживание индекса вкладок станет кошмаром.   -  person CeejeeB    schedule 30.03.2012


Ответы (2)


Вы можете использовать jQuery для динамической установки tabindexes с помощью цикла и переменной счетчика. Проверьте это. http://jsfiddle.net/BaMqG/22/

$(document).ready(function() {
    var i = 1;
    $('.wrapper').each(function(){
        $(this).children('.dynamic').children('input').each(function(){
            $(this).attr("tabindex",i); 
            i++;
        });
        $(this).children('.fixed').children('input').each(function(){
            $(this).attr("tabindex",i);
            i++;
        });
    });
});​

Начальное значение для i может быть установлено на любой номер tabindex, с которого вы хотите начать.

person Adam Cook    schedule 30.03.2012
comment
Да, я думал об этом, но эта часть формы находится в середине полной формы, поэтому, когда я добавляю новую строку формы через js, не только ее индекс вкладки нуждается в обновлении, но и вся форма, следующая за ней. Вот почему я хотел бы решение без индекса вкладок. - person CeejeeB; 02.04.2012
comment
Я не думаю, что для этого есть практическое решение без tabindex, но я мог бы легко изменить этот js, чтобы выполнить то, что вы хотите. На самом деле, JS потребуется, несмотря ни на что, и это, вероятно, наименее трудоемкий способ сделать это. - person Adam Cook; 02.04.2012
comment
Однако, если вы разместите ссылку на свою страницу, я могу посмотреть альтернативные решения. - person Adam Cook; 02.04.2012
comment
Я знаю, что это можно сделать, но мне действительно нужно было исправить html/css, а не решение tabindex/javascript. Боюсь, у меня нет ссылки, но страница скрипки в основном покрывает ее. - person CeejeeB; 05.04.2012

Мне удалось получить такую ​​​​же форму без индекса вкладок для работы с использованием таблиц.

См. здесь: http://jsfiddle.net/ymSGM/

Мне все равно было бы интересно, можно ли это сделать по-другому.

person CeejeeB    schedule 05.04.2012
comment
Честно говоря, смешивание фиксированной и процентной ширины в вашем макете по своей сути проблематично для html/css. Вам нужно либо написать сценарий для обработки динамического характера вашей формы, либо вообще избежать этой проблемы, используя таблицы. У каждого есть свои плюсы и минусы. Если семантическая разметка менее важна в этом сценарии, чем избегание лишнего javascript, то таблицы, вероятно, будут лучшим выбором, который у вас есть. - person Adam Cook; 05.04.2012