easyui datagrid里的checkbox没啥好说的,大家都熟,
这次遇到的是在一个弹出窗口(可以理解为模态框)中进行多选,
翻了官网一圈没找到,直接用checkbox tree似乎又大材小用了,
其实这是最基本的js应用,汗
jsp
<!-- analysisDlg 开始位置-->
<table id="ftable" style="width:100%;margin: 0 auto" cellspacing="2">
</table>
</div>
因为我table里的td是ajax查询出来的(动态加载),
ajax就不写了,调用ajax返回的data时调用
下面的initAnalysis
方法,
然后append到上面jsp的table里
js
/**
* 初始化复选框
* @param data
*/
function initAnalysis(data){
var tabData="";
for(var i=0;i<data.length;i++){
tabData+="<tr><td><input type='checkbox' value='"+data[i].field+"' />"+data[i].title+"</td></tr>";
}
$("#ftable").append(tabData);
}
完了之后怎么获取checkbox值呢,定义数组,
然后把选中的checkbox值放进该数组里
var chk =[];
$.each($('input:checkbox:checked'),function(){
chk.push($(this).val());
})
接下来就是ajax传值了,ajax怎么传数组呢,
改成这样(string格式)就可传值了
var jsonString = JSON.stringify(chk);
后台接收也顺便提一下,因为传到后台大概是
["1","2","3"]
这样的,不确定的可以js里alert一下
我当初偷懒没查,就这样直接认为是字符串了
chk=chk.replace("[", "").replace("]", "").replaceAll("\"", "");
String[] tem = chk.split(",");
注意replace
这个"
引号的时候要加转义\
符号
大概效果这样