Моя цель - установить фокус на определенный inputText.Установить id для inputText в итераторе
Как кажется, нет возможности сделать это автоматически с помощью свойства tr: inputText, я пытаюсь использовать Javascript.
Для document.getElementById
Мне нужен идентификатор обработанного html <input>
. Я пытаюсь установить этот идентификатор на правильный индекс. Однако он отображается с идентификатором varFieldIterator:0:varField
, где число 0 поступает от итератора и отличается в зависимости от моего начального значения selectStart. Если я начинаю с selectStart = 10, первый индекс для текстового поля 10 равен 0. Если я начинаю с 15, а затем получаю PPR для отображения первых 15 текстовых полей, они получают идентификатор, начинающийся с 16.
Я думаю, что код будет ясно, что я пытаюсь достичь:
<tr:iterator
id="varFieldIterator"
value="#{myController.form.model.fieldList}"
var="field"
rows="15"
first="#{{myController.form.model.selectionStart}"
varStatus="status">
<tr:inputText
id="varField#{status.index}"
value="#{field.value}"
label="Text #{status.index +1}">
</tr:iterator>
<tr:inputHidden
id="FOCUS_TEXT"
value="#{myController.form.model.endFocus}"></tr:inputHidden>
<trh:script>
window.onload = function() { document.getElementById('varField' + document.getElementById('FOCUS_TEXT').value).focus(); }
</trh:script>
Хотя простое решение установить ID независимо от числа итератора не работали, ваше предложение, тем не менее помогли найти обходной путь. – stracktracer