你把多選框的名都起一樣的
創(chuàng)新互聯(lián)專注于肇州企業(yè)網(wǎng)站建設(shè),自適應(yīng)網(wǎng)站建設(shè),商城開(kāi)發(fā)。肇州網(wǎng)站建設(shè)公司,為肇州等地區(qū)提供建站服務(wù)。全流程按需網(wǎng)站建設(shè),專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)
然后在javascript里面用
var num=0;
for(var i=0;idocument.getElementsByName("多選框名").length;i++){
if(document.getElementsByName("多選框名")[i].checked==true){
num++;
alert(document.getElementsByName("多選框名")[i].value);//彈出選中的value值
}
}
alert(num);//彈出選中的個(gè)數(shù)
我會(huì)將在編寫(xiě)過(guò)程中出現(xiàn)的一些小知識(shí)點(diǎn)也進(jìn)行總結(jié)概括的。
此項(xiàng)目基于的框架是:springmvc+mybatis
(1)controller
/**
* 批量刪除 batch
*/
@RequestMapping("/batchDeletes")
@ResponseBody
public void batchDeletes(HttpServletRequest request,HttpServletResponse response){
String items = request.getParameter("delitems");
ListString delList = new ArrayListString();
String[] strs = items.split(",");
for (String str : strs) {
delList.add(str);
}
userService.batchDeletes(delList);
}
代碼思路:
從前臺(tái)勾選的選擇框中傳過(guò)來(lái)的值用“,”分開(kāi),然后遍歷存放到delList集合里面,直接刪delList集合里面的所有字符串。
(2)service
/**
* 批量刪除
*/
void batchDeletes(List delList);
(3)impl
/**
* 批量刪除
*/
@Override
public void batchDeletes(List delList) {
userMapper.batchDeletes(delList);
}
(4)mapper
/**
* 批量刪除
*/
void batchDeletes(List delList);
(5)mapper.xml
!--批量刪除 --
delete id="batchDeletes" parameterType="java.util.List"
DELETE FROM tp_user where uname in
foreach collection="list" index="index" item="item" open="(" separator="," close=")"
#{item}
/foreach
/delete
如上的mybatis指代的意思如下:
foreach元素的屬性主要有 item,index,collection,open,separator,close。
item表示集合中每一個(gè)元素進(jìn)行迭代時(shí)的別名. (直接找到對(duì)應(yīng)的delList集合里面的所有元素,item="item"中的item(后一個(gè))必須與#{item} 中的item一致)
index指 定一個(gè)名字,用于表示在迭代過(guò)程中,每次迭代到的位置.
open表示該語(yǔ)句以什么開(kāi)始,separator表示在每次進(jìn)行迭代之間以什么符號(hào)作為分隔 符.
close表示以什么結(jié)束.
前臺(tái)代碼:
user_list.jsp
//全選
function selectAll(){
if ($("#SelectAll").is(":checked")) {
$(":checkbox").prop("checked", true);//所有選擇框都選中
} else {
$(":checkbox").prop("checked", false);
}
}
//批量刪除
function batchDeletes(){
//判斷至少寫(xiě)了一項(xiàng)
var checkedNum = $("input[name='subcheck']:checked").length;
if(checkedNum==0){
alert("請(qǐng)至少選擇一項(xiàng)!");
return false;
}
if(confirm("確定刪除所選項(xiàng)目?")){
var checkedList = new Array();
$("input[name='subcheck']:checked").each(function(){
checkedList.push($(this).val());
});
$.ajax({
type:"POST",
url:"web/user/batchDeletes.action",
data:{"delitems":checkedList.toString()},
datatype:"html",
success:function(data){
$("[name='checkbox2']:checkbox").attr("checked",false);
art.dialog.tips('刪除成功!');
setTimeout("location.reload()",1000);//頁(yè)面刷新
},
error:function(data){
art.dialog.tips('刪除失敗!');
}
});
}
}
table class="tb_list"
tr
td align="center"input type="checkbox" id="SelectAll"
onclick="selectAll();" / 全選/td
th序號(hào)/th
/tr
c:forEach items="${page.list }" var="items" varStatus="idx"
tr class="row_${idx.count%2+1}"
td style="display:none"${batch.id}/td
td align="center"input type="checkbox" id="subcheck"
name="subcheck" value="${items.UNAME }" /
/td
td${page.onePageCount*(page.currentPage-1)+idx.count }/td
tr
/table
備注:此代碼我傳值的主鍵是用uname來(lái)刪除的,實(shí)際應(yīng)該用id作為主鍵,因?yàn)閕d的unique
,uname若重名,則就會(huì)出現(xiàn)bug,相信大家都明白,就不再過(guò)多解釋了。
你好,這個(gè)叫做下拉框,在java中是這么寫(xiě)
select
optionBOMJI/option
optionBOUFWY/option
optionBOYSO/option
...
/select
供您參考
這個(gè)很簡(jiǎn)單。
1、首先后臺(tái)定義一個(gè)用來(lái)展示多選框的對(duì)象box,含有2個(gè)屬性,選項(xiàng)框值value,是否選中isCheck以及選項(xiàng)框名稱name
2、構(gòu)造ListBox boxList對(duì)象,放在request中,request.addAttribute("boxList","boxList")
3、在jsp頁(yè)面利用el標(biāo)簽遍歷boxList.
c:foreach items="${boxList}" var="box"
c:choose
c:when test="${box.isCheck==true}"
input type="checkbox" value="${box.value}" checked/${box.name}
c:otherwise
input type="checkbox" value="${box.value}" /${box.name}
/c:otherwise
/c:foreach
思路就是這樣,手機(jī)回答,代碼或許手寫(xiě)錯(cuò)誤