jq匹配所有被选中元素(复选框、单选框等,不包括select中的option):$("input:checked")
jq匹配所有复选框:$(":checkbox")
js获取所选中复选框的值s,格式:id1,id2,id3,id4.....
一,直接获取当页ids
var ids="";
$("input:checked").each(function(){
ids+=$(this).val()+',';
});
ids=ids.substring(0,ids.length-1);
二,能够切换页面仍存值,随着选项被点击而取得值
复选框:
<input type="checkbox" οnclick="checkNum(this);" value="n"/>
隐藏域用于存values值:<input type="hidden" id="mapData">
需要把mapData的值作为参数传给跳转面页的链接
1.数组存值
var checkIds=new Array();
function checkNum(checkbox){
if(checkIds.length<=10){
var id=checkbox.value;
if(checkbox.checked){
checkIds.push(id);
}else{
//获取要删除元素下标
var index = $.inArray(id,checkIds);
if(index>=0){
//移除元素
checkIds.splice(index,1);
}
}
}else{
alert("您已经添加十条!");
}
$("#mapData").val(ids);
};
2.截取字符串法
var ids=$("#mapData").val();
var idArray=ids.split(',');
function checkNum(checkbox){
var ids=$("#mapData").val();
var idArray=ids.split(',');
if ( checkbox.checked == true){
if(idArray.length==10){
alert("您已经添加十条!");
checkbox.checked = false;
return ;
}
if(ids==""||ids==null){
ids=checkbox.value;
}else{
ids+=","+checkbox.value;
}
$("#mapData").val(ids);
}else{
if(ids.indexOf(",")==-1){
ids="";
}else if(ids.indexOf(","+checkbox.value+",")!=-1){
ids=ids.replace(","+checkbox.value+",",",");
}else if(ids.indexOf(checkbox.value+",")==0){
var str=checkbox.value+",";
ids=ids.substring(str.length,ids.length);
}else{
var index=ids.lastIndexOf(","+checkbox.value);
ids=ids.substring(0,index);
}
}
$("#mapData").val(ids);
}