前端
一級選框全選/取消二級選框
function pcheck(j)
{
var ch=document.getElementsByName("name"+j);
if(document.getElementsByName("name"+j)[0].checked==true)
{
for(var i=0;i<ch.length;i++)
{
ch[i].checked=true;
}
}else{
for(var i=0;i<ch.length;i++)
{
ch[i].checked=false;
}
}
}
當二級被選時,選擇/取消一級選框
function ccheck(obj)
{
var ch=document.getElementsByName($(obj).attr("name"));
if(obj.checked==true){
ch[0].checked=true;
}else{
var flag=false;
for(var i=1;i<ch.length;i++){
if(ch[i].checked==true){
flag=true;
}
}
if(flag){
ch[0].checked=true;
}else{
ch[0].checked=false;
}
}
}
後臺動態生成選框
StringBuffer htmlstr = new StringBuffer();
htmlstr.append("<dl>");
String[] title = { "標題一", "標題二, "標題三", "標題四" };
for (int i = 1; i < 5; i++) {
htmlstr.append("<dd class=\"model\"><label for=\"permit_wechat\">"
+ title[i - 1] + "</label></dd>");
@SuppressWarnings("rawtypes")
if (parent != null) {
for (int j = 0; j < parent.size(); j++) {
htmlstr.append("<dd class=\"model\">");
htmlstr.append("<input name=\"name"
+ parent.get(j).get("code")
+ "\" type=\"checkbox\" class=\"test\" onclick=\"pcheck("
+ parent.get(j).get("code") + ")\" id=\""
+ parent.get(j).get("code") + "\" value=\""
+ parent.get(j).get("code") + "\">");
htmlstr.append("<label for=\"permit_wechat\">"
+ parent.get(j).get("name") + "</label></dd>");
htmlstr.append("<dd class=\"module\">");
if (child != null) {
for (int m = 0; m < child.size(); m++) {
htmlstr.append("<input name=\"name"
+ parent.get(j).get("code")
+ "\" type=\"checkbox\" class=\"test\" onclick=\"ccheck(this)\" value=\""
+ child.get(m).get("code") + "\"" + "id=\""
+ child.get(m).get("code") + "\">");
htmlstr.append("<label for=\"permit_wechat\">"
+ child.get(m).get("name") + "</label>");
}
}
htmlstr.append("</dd>");
}
}
}
htmlstr.append("</dl>");
選擇所有選框的選中情況
var checkboxArray = [];
var map = {};
var inputs = document.getElementsByTagName("input");
for(var i=0;i<inputs.length;i++){
var obj = inputs[i];
if(obj.type=='checkbox'){
if(obj.checked==true){
checkboxArray.push(obj.value);
}
}
}