Imposta ID per InputText in iteratore
-
12-11-2019 - |
Domanda
Il mio obiettivo è quello di impostare il focus su un input text specifico.
Poiché sembra non esserci modo di farlo automaticamente con una proprietà TR: InputText, provo a usare JavaScript.
Per document.getElementById
Ho bisogno dell'ID dell'HTML reso <input>
. Provo a impostare questo ID sull'indice corretto. Tuttavia, è reso con l'ID varFieldIterator:0:varField
dove il numero 0 proviene dall'iteratore ed è diverso a seconda della mia parte del valore di avvio. Se inizio con SelectionStart = 10, il primo indice per la casella di testo 10 è 0. Se inizio con 15 e quindi ho un PPR per mostrare le prime 15 caselle di testo, ottengono l'ID a partire da 16.
Penso che il codice chiarirà ciò che cerco di ottenere:
<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>
Nessuna soluzione corretta