-------------------------------------------------------------------------后台:-------------------------------------------------------------------------------
ProductController:
// zy
// 二级分类id
String id = getPara("Productclassid");
// 如果修改了分类
if (id !=null && !id.equals("")) {
// 字符串转化为list
List<String> str = strRepeat(id);
List<Record> list = productPlanService.selPlanByType(pp.getInt("id"));
// 数据增删改操作
planClassInsert(pp.getId(),str,list);
}
renderJson(result);
}
// 检查//对比俩集合//要删数据还是增数据
//str:页面勾选的分类
//dblist:数据库中已存在的分类
public void planClassInsert(intplanid, List<String>str, List<Record>dblist) {
// 此循环的结果:剩下只需Insert的list
Iterator<String> iterator =str.iterator();
for (Record c : dblist) {
while (iterator.hasNext()) {
String strc = iterator.next();
if (str.contains(c.getInt("peoduct_class_id").toString())
&&str.equals(c.getInt("peoduct_class_id").toString())) {
// 如果复选框str中存在自带的类目,删掉str中的id,已便str直接进行insert操作
iterator.remove();// 注意这个地方 (List不支持for循环中remove())
break;
} else {
// 如果复选框str中 不存在自带的类目,进行数据库delete操作
productPlanService.delPlanClass(planid,c.getInt("peoduct_class_id"));
break;
}
}
}
// 循环增加方案分类记录
for (String s : str) {
System.err.println("//循环增加方案分类记录");
productPlanService.addPlanClass(planid, (Integer.parseInt(s)));
}
}
/*
* 根据方案ID查询所有二级类目
*/
public List<Record> selPlanByType(Integer id){
return Db.find("select pl.*,cs.pid from t_productplan_class pl,t_product_class cs where pl.peoduct_class_id=cs.id and pl.product_plan_id=?",id);
}
// 字符串转为List
public List<String> strRepeat(String str) {
List<String> result = new ArrayList<String>(Arrays.asList(str.split(",")));
return result;
}
-------------------------------------------前台html————-——————————————————————————————————————————————————————
$("#form1").submit(function(){
alert();
});
getType();//加载现有类目
//updateStyle();//刷新父级框
//加载现有类目
function getType(){
#for(x:classType2)
$("#erji input[id='#(x.peoduct_class_id)']").next().addClass("layui-form-checked");
$("#yiji input[name='#(x.pid)']").next().addClass("layui-form-checked");
#end
};
$(".layui-unselect").click(function(){
//如果当前操作的是一级节点
if($(this).parent().attr("id")=="yiji"){
if(!$(this).hasClass("layui-form-checked")){ ///如果当前是选中状态
//就把-所属它的子节点隐藏掉
//根据所选元素的上个元素input name属性名,去隐藏子级 input属性相同的同级div
$(this).parent().next().children("input[pid="+$(this).prev().attr('name')+"]").next().removeClass("layui-form-checked").hide();
}else{
$(this).parent().next().children("input[pid="+$(this).prev().attr('name')+"]").next().show();
}
}else{
//当前操作的二级节点
$("#yiji input[name="+$(this).prev().attr('pid')+"]").next().addClass("layui-form-checked");
//循环当前已选中的二级分类
var Productclassid = "";
$("#erji div[class$='layui-form-checked']").prev().each(function(index,value){
//将分类id保存在字符串中
Productclassid += $(value).attr("id") + ","
});
$("#Productclassid").val(Productclassid);
alert($("#Productclassid").val());
}
});