1. 程式人生 > >jsp:選中複選框實現刪除功能

jsp:選中複選框實現刪除功能

 前段時間,接到一個開發jsp前臺頁面的專案,好久沒接觸JSP了,個人感覺亞歷山大。公司實在沒人願意上,只能硬著頭皮接了。 在開發過程中也碰到了不少問題,乘現在專案暫告一段落,在此記錄下,以後再碰到類似問題就好辦了。
1. 通過按鈕繫結delarea()函式 <input name="" type="button" class="btn4" onclick="delarea();" /> 2.因為表格的資料是從資料庫中實時獲取,我將checkbox的值設定為其編號,能實現唯一值。  out.print("<td><input name='ids' type='checkbox' value='" +a.getId()+ "' /></td>");
<script language="javaScript" SRC="ajax_del_are_core.js"
></script>
3.在這裡宣告delarea()函式的地址
 

4. 接下來是重點,以上三步實現的是,當用戶點選複選框(單選或多選)時,能將其對應的checkbox值改變,然後就能在接收函式中判斷此複選框是否唄選中。我將對應記錄的ID值付給checkbox,實現傳輸選中記錄ID的功能,將接收到的資料以,號分隔開,存入str中,以備使用:
var str="";     var sel=document.getElementsByName("ids");//checkbox     for( var i=0;i<sel.length;i++)     if
(sel[i].checked==true)     str+=sel[i].value+","; 5.第四步驟主要在AJAX函式中完成,然後將str傳到對應的servlet中進行資料處理。在這裡我通過split()函式將str實現數值與“,”的分離。         String id=request.getParameter("ids");     String[] arr = id.split(",");     String strSQL= "delete from ts_id_vs_relation where ";      for(int i=0;i <arr.length
-1;i++)      {      strSQL = strSQL + " id= ' "+arr[i]+ " ' or ";      }      strSQL = strSQL + " id= ' "+arr[arr.length-1]+ " ' ";   
6.接下來就是具體的資料庫操作啦,不多做贅述。至此,刪除功能實現 ,打完收功!