2014-01-26 3 views
0

Я пытаюсь собрать значения флажок из всплывающего окна и передать их значения родительского окна, используя этот код:CheckBox значения в JSTL

<c:forEach var="row" items="${result2.rows}"> 
     <input type="checkbox" name="chkBox" id="cb1" value="${row.first_name} ${row.last_name}" /> 
     <c:out value="${row.first_name} ${row.last_name}"/><br> 
    </c:forEach> 
<input type="button" value="select" onclick="javascript:return returnValues()" /> 

этот JSTL код работает хорошо и отображать флажки и имена даже если результат содержит много строк.

после выбора флажков, я передаю их значения родительского окна с помощью этого Java код сценария:

function returnValues() { 
      if(document.getElementById("cb1").checked){ 
       var v1 =[]; 
       v1 =document.getElementById("cb1").value 
      }    
      window.opener.setValue(v1); 
      window.close(); 
      return false; 
     } 

это Java-код скрипт работает прекрасно, когда возвращаемый результат содержит только одну строку в противном случае она не сможет.

Я попытался переписать свой вопрос и надеюсь, что я объяснил это лучше, чем раньше. любая помощь будет оценена, спасибо заранее.

+0

Я не могу понять ваш вопрос. Пожалуйста, уточните, что вы делаете, что вы ожидаете делать и чем оно занимается. Боковое примечание: HTML, созданный этим циклом, будет недействительным, так как все chackboxes будут иметь одинаковый идентификатор. Идентификатор должен идентифицировать элемент однозначно. –

+0

спасибо за ваш ответ. Я попытался переписать свой вопрос, и я надеюсь, что теперь это ясно. в соответствии с вашей записью об идентификаторе, пожалуйста, покажите мне, как я могу назначить разные идентификаторы для своих флажков внутри кода JSTL forEach. Думаю, мне нужно сделать то же самое для «ценности». – meaw

ответ

0

Код JS не имеет большого смысла. getElementById() возвращает 0 или 1 элемент DOM: элемент, который имеет идентификатор, переданный как аргумент, и который должен быть уникальным во всем документе.

У вас есть несколько флажков и присваивается одинаковый идентификатор каждому из них, что делает ваш HTML-код недействительным. Поскольку вы хотите получить значения всех отмеченных флажков, вам необходимо выполнить итерацию по ним. Чтобы найти их, вы можете use their name, так как они все имеют один и тот же. На каждой итерации вы определите, установлен ли текущий флажок, получите его атрибут value и добавьте его в массив. И вы можете передать этот массив в родительское окно.

+0

спасибо, что он отлично работает со мной :) – meaw

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