#javascript #jsp
#javascript #jsp
Вопрос:
Я использовал флажки для проверки писем в моей почтовой системе, которая разработана на Java.
Я хочу установить все флажки при нажатии верхнего флажка, но проблема в том, что флажки отображаются в цикле в соответствии с количеством полученных писем.
Пожалуйста, помогите мне, куда я должен поместить код javascript для решения этой проблемы.
Код цикла inbox приведен ниже:
<tr >
<% for(int i=0;i<messageList.size();i ) { message = (Message)messageList.get(i);%>
<td width="10%" height="33" align="left" valign="top" bgcolor="#EEE" >
<!--This link display the full message-->
<input name="Mark_Mail" id="mark_mail" onclick="myfunction(this);" type="checkbox" value="<%=message.getMailId()%>" width="50" height="30" align="top" >
<span id="space1" style="padding:2px"></span>
<!--Check all the Checkboxes-->
<script type="text/javascript">
function checkAll()
{
document.getElementById('mark_mail').checked = "true";
}
</script>
<img src="Images/UnStarred.jpg" height="15" border="0" id="image1" onclick="swapImage()" />
<span id="space1" style="padding:2px"></span>
</td>
<td width="90%" height="33" align="left" colspan="7" valign="bottom" bgcolor="#EEE" >
<!--This link display the full message-->
<a id="link" href="viewMail.jsp?mailId=<%=message.getMailId()%>amp;isAttach=<%=message.getAttachmentFlag()%>">
<!--Display Sender Address-->
<font color="#000000" size="1"><strong><%=message.getSenderAddress()%></strong></font>
<span id="space1" style="padding:6px"></span>
<!--For Display Message Subject-->
<font color="#000000" size="1"><strong><%=message.getSubject()%></strong></font>
<span id="space1" style="padding:6px"></span>
<!--For Display Attachment Image-->
<%if(message.getAttachmentFlag().equals("1")){%><input type="hidden" name="filename" id="filename" value="<%=message.getFileName()%>" /><input type="hidden" name="filesize" id="filesize" value="<%=message.getFileSize()%> /><img src ="Images/attachment.jpg" style="bgcolor: #EEE" /><%}else{%><span style="padding-left:12px" ></span><%}%>
<span id="space1" style="padding:6px"></span>
<!--For Display Time and Date of messaging-->
<font color="#000000" size="1"><strong><%=message.getTimestamp()%><span style="padding-left:5px"></span><%=message.getDate()%><input type="hidden" name="label" value="<%=message.getLabel()%>"></strong></font>
</a></td>
</tr><% } %>
Комментарии:
1. Пожалуйста, для вашей же безопасности: Java — это не JavaScript.
2. @Kobi реальный вопрос здесь действительно в JavaScript, однако это действительно трудно увидеть.
3. В следующий раз, пожалуйста, показывайте свою разметку и код в том виде, в каком они отправляются в браузер (используйте ‘View Source’), чтобы нам не приходилось выяснять, как будет выглядеть результирующий HTML. В конце концов, это то, что увидит JavaScript.
Ответ №1:
Вам нужно получить элементы по их имени, так как ID должен быть уникальным:
function checkAll() {
var arrMarkMail = document.getElementsByName("mark_mail");
for (var i = 0; i < arrMarkMail.length; i ) {
arrMarkMail[i].checked = true;
}
}
Просто поместите этот код в <head>
раздел страницы.
Чтобы вызвать его, установите такой флажок везде, где вам нравится: Master: <input type="checkbox" onclick="checkAll();" />
Однако это лучше сделать с помощью кнопки:
<button type="button" onclick="checkAll();">Check All</button>
Комментарии:
1. мастер: на простой странице это работает нормально, но в моем приложении, поскольку мои письма с флажками отображаются в цикле, поэтому я хочу знать, куда поместить этот код, внутри цикла или над циклом, потому что мой флажок, с помощью которого я должен проверять все остальные флажки, находится выше и вне цикла………… надеюсь на ответ, спасибо