如何选中复选框?

时间:2016-06-05 23:54:43

标签: java jquery forms servlets

我正在编写一个java servlet应用程序。在那里,我有一个动态表,我想获得所选的选项按钮计数。

enter image description here

我想查找提交了多少个复选框值。然后我可以根据提交的复选框值的数量来寻找数据库插入循环。

这是我的表单代码

<form role="form" id="user_allowed_unis" name="user_allowed_unis" class="form-horizontal" action="../UnisPerUserCtrl" method="post">
   <input type="hidden" name="action" id="action" value="USER_ALLOWED_UNIS">
   <div class="form-group col-lg-12">
       <label class="col-lg-6 control-label">User Email</label>
              <div class="col-lg-4">
                    <input type="text" id="email" data-toggle="email" class="form-control" name="email" value="" maxlength="100">
             </div>
   <span class="input-group-btn"><button class="btn btn-default" onclick="createLovWindow('Users');" type="button"><i class="fa fa-search"></i></button></span>
     </div>
 <div class="input-group"> <span class="input-group-addon">Search</span>

 <input id="filter" type="text" class="form-control" placeholder="Search University...">
 </div>
<table class="table table-bordered table-hover table-striped">
    <thead>
        <tr>
          <th>Id</th>
          <th>University Id</th>
           <th>University</th>
           <th>Selected</th>
         </tr>
    </thead>
    <tbody class="searchable">
      <%
         UniversityMgt uni=new UniversityMgt();
         ResultSet rs = uni.Get_Universities(dbParam);
         int id = 1;
         while (rs.next()) {    
                String uni_id = rs.getString("id");
                String uni_name = rs.getString("name");

     %>
     <tr>
      <td><%=id%></td>
      <td><%=uni_id%></a></td>
      <td><%=uni_name%></td>
      <td>
         <div class="material-switch">
          <input id="uniOption" name="<%=uni_id%>^uniOption" type="checkbox"/>
         </div>
      </td>
     </tr>
   <input  name="option_count" type="hidden" value="<%=id%>"/>
      <% id++;
       }
       while (rs.previous()) {
    }
   %>
   </tbody>
   </table>
  </form> 

到目前为止,我已经厌倦了将此值作为我的id值发送,这表示我的表索引值,但它没有成功。无论我选中的复选框如何,它总是提交1。

以下是我可以在servlet中获得的结果。 enter image description here

1 个答案:

答案 0 :(得分:0)

我建议的是将复选框代码写为

<input id="<%=uni_id%>^uniOption" name="uniOption" type="checkbox"/>

这意味着保持所有复选框的name属性相同,并且每个复选框的id属性都是唯一的。因为在javascript中,不同的元素可以具有相同的名称,但id应该是唯一的。

现在,当您提交页面调用JavaScript函数时,就在代码下面:

var checkboxArray = document.getElementsByName("uniOption");

var counter =0;
for(var i=0;i<checkboxArray.length;i++){
if(checkboxArray[i].checked){
// here you will get count of all the checked check boxes
counter++;
}
}

希望这有帮助!