Я пытаюсь использовать флажок «Выбрать все», чтобы выбрать столбец флажков.jsp тег библиотека меняется флажок имя?
Таким образом, я дал все те, что хочу, сразу же с тем же именем ABoxesElement, чтобы я мог легко проверить их все на javascript.
Однако, когда я использую firebug в firefox, я вижу, что флажки не сохранили имя, которое я им предоставил, но предварительно запустили имя компонента и добавили автоинкрементный номер в мои флажки.
Поскольку я не могу использовать регулярное выражение в getElementByName, как я могу установить одинаковое значение в нескольких флажках. (ID используется для чего-то еще) .. вот мой код:
Выбрать все Checkbox
<dmf:checkbox
name="ABoxes"
onclick = 'selectAllACheckBoxes'
id="allABoxes"
runatclient="true"/>
Пример одного из флажков, что я хочу проверяемого
<dmf:checkbox
name="ABoxesElement"
id="<%=...%>"
runatclient="true"/>
**** Пример Javascript ****
function selectAllCheckBoxes(source) {
var checked = source.checked
var cbName = source.name + 'Element';
var col = document.getElementsByName(cbName);
for (var i=0; i<col.length;i++)
{
col[i].checked = checked;
col[i].disabled = !checked;
}
}
Когда страница показывает, однако, что я заметил, что имя отдельных флажков не является ABoxesElement, но что-то вроде component_nameAboxesElement_2, поэтому скрипт не будет работать, если getElementsByName не сможет принимать регулярные выражения.
Любые идеи о том, как обойти это?
ДВ для флажка имеет другой атрибут
<attribute>
<name>datafield</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue> </attribute>
можно использовать, чтобы сохранить «имя», а затем получить доступ к элементу через него?
Изменить HTML ВЫХОД для отдельного флажка
<input type="hidden" value="true" id="a1ON_hidden" name="mform_content_AboxesElement_hidden_2"/>
<input type="checkbox" onclick="setKeys(event);safeCall(selectAllCheckBoxes,this);" value="" title="Click here" id="a1ON" name="form_content_AboxesElement_2"/>
EDIT 2 HTML-ВЫХОД для SelectAll флажка
<input type="hidden" name="mform_content_ABoxes_hidden_1" id="allABoxes_hidden" value="true"/>
<input type="checkbox" name="mform_content_ABoxes_1" id="marketsAll" title="Click to select" value="" onclick="setKeys(event);safeCall(selectAllCheckBoxes,this);"/>
При написании JS, примите во внимание сгенерированный HTML-вывод. Все, что видит JS, является только деревом HTML DOM. Вы могли бы просто использовать его. Вы можете обновить свой вопрос с помощью минимально возможного извлечения сгенерированного HTML (по крайней мере, флажок «Выбрать все» и таблицу с флажками). – BalusC