2011-05-15 83 views
-2

我已經使用複選框來檢查我的郵件系統中用Java開發的郵件。如何自動檢查同名的所有複選框?

我想檢查點擊上方複選框上的所有複選框,但問題是,根據檢索到的郵件數量,複選框顯示在循環中。

請幫我在哪裏應該把JavaScript代碼解決這個問題。

收件箱中的循環代碼如下:

<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()%>&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><% } %> 
+8

請,爲自己的安全:Java不是JavaScript的。 – Kobi 2011-05-15 10:39:16

+1

@Kobi這裏真正的問題確實是JavaScript,但是很難真正看到這一點。 – 2011-05-15 10:46:23

+2

下一次,請將您的標記和代碼發送到瀏覽器(使用'查看源代碼'),以便我們不必知道生成的HTML的外觀。畢竟,這是JavaScript會看到的。 – 2011-05-15 11:13:23

回答

9

您需要通過他們的名字來獲取元素,ID必須是唯一的:

function checkAll() { 
    var arrMarkMail = document.getElementsByName("mark_mail"); 
    for (var i = 0; i < arrMarkMail.length; i++) { 
     arrMarkMail[i].checked = true; 
    } 
} 

只需把這個代碼在<head>頁面的部分。

稱呼它,有這樣的複選框你喜歡的地方: 站長:<input type="checkbox" onclick="checkAll();" />
但是這更好的通過一個按鈕來完成:

<button type="button" onclick="checkAll();">Check All</button> 
+0

嚮導:它在一個簡單的頁面中工作正常,但在我的應用程序中,因爲帶有複選框的郵件顯示在一個循環中,所以我想知道該代碼的位置,循環內或循環上面,因爲我的複選框檢查所有其他複選框是上面和外面的循環............希望答覆謝謝你 – 2011-05-15 14:22:12

+0

@rohit看到我的編輯.. – 2011-05-15 14:42:50