2013-11-14 3 views
8

Это смущает. Я не могу понять, как сделать что-то похожее тривиально.угловой, настройка динамического tabindex с пользовательской директивой

tr.row(ng-repeat="user in users") 
    td 
    div(input-inline-edit="user.name" tabindex="{{ $index*10 + 1 }}") 
    td 
    div(input-inline-edit="user.surname" tabindex="{{ $index*10 + 2 }}") 
    td 
    div(tabindex="{{ $index*10 + 3 }}") 

Поскольку у меня есть строки, мне нужно иметь возможность пересекать tabindex за строкой. Таким образом, я думал, что лучше всего есть первый ряд 1,2,3,4 следующий 11,12,13,14 затем 21,22,23,24

т.д.

Я так Embarassed Я не был в состоянии сделать это, приведенный выше код не работает, я попытался

{{$index *10 + 1}} 

или {{getIndex($index, 1)}}") с в контроллере:

$scope.getIndex = function(index,i) { 
     return index*10 + i; 
    } 

и бесчисленное множество других комбинаций ... Не могу поверить, что мне не удалось сделать что-то вроде просто

EDIT: ОК, оказывается, я был жадным с информацией. У меня есть собственная директива для встроенного редактирования, «input-inline-edit». Я отредактировал код соответственно выше. Поэтому, если у меня есть эта директива, tabindex НЕ работает, но если у меня есть нормальный div (третий в приведенном выше примере), это НЕ ДАЕТ !!! Поэтому для первых двух я получаю tabindex = null, для третьего я получаю действительное число. Я сбит с толку.

+2

Это странно. Я использую tabindex = "{{$ index * 10 + 1}}"> и отлично работает ... –

+0

div's tabableable? Невозможно сфокусировать div – charlietfl

+0

@DeividiCavarzan, вы правы! Я думал, что это не имеет значения, но у меня есть специальная директива. Когда я использую этот, он не работает, иначе он – faboolous

ответ

10

ЭТО ЛЕГКО. Не нужно слишком усложнять его. Просто укажите каждый из повторяющихся элементов SAME tabindex. Пользователи по-прежнему смогут перехватывать их так же, как раньше.

Смежные вопросы