为了账号安全,请及时绑定邮箱和手机立即绑定

如下图的情况,处理后台数据在复选框中回显问题?为什么会这样?

如下图的情况,处理后台数据在复选框中回显问题?为什么会这样?

小唯快跑啊 2023-03-02 21:17:21
//其中tagList是所有标签集合。 tagids是根据某个id得到其有关联的标签id的字符串拼接<tr><th>标签:</th><td><c:forEach items="${tagList}" var="one" varStatus="step"><input name="s1" type="checkbox" value="${one.id}" ${fn:contains(tagids,one.id)?'checked':'' }/> ${one.tagName}  <c:if test="${step.count%5==0}"><br/></c:if></c:forEach></td></tr>选中t9,点击保存,然后进行查看时,标签1也选中。
查看完整描述

2 回答

?
汪汪一只猫

TA贡献1898条经验 获得超8个赞

$(function(){


//当页面加载完成的时候,自动调用该方法

window.onload=function(){

//获得所要回显的值,此处为:100,1001,200,1400

var checkeds = $("#meidaHidden").val();

//拆分为字符串数组

var checkArray =checkeds.split(",");

//获得所有的复选框对象

var checkBoxAll = $("input[name='media']");

//获得所有复选框(新闻,微信,论坛,问答,博客,平媒)的value值,然后,用checkArray中的值和他们比较,如果有,则说明该复选框被选中

for(var i=0;i<checkArray.length;i++){

//获取所有复选框对象的value属性,然后,用checkArray[i]和他们匹配,如果有,则说明他应被选中

$.each(checkBoxAll,function(j,checkbox){

//获取复选框的value属性

var checkValue=$(checkbox).val();

if(checkArray[i]==checkValue){

$(checkbox).attr("checked",true);

}

})

}


//全选多选框的回显

var array=$("input[name='media']:checked").length;

//如果等于6,说明全部被选中,那么全选多选框也要被选中

//如果不等于6,说明全部都没选,那么全选的多选框也要被取消

if(array==6){

$("#checkAll").attr("checked",true);

}else{

$("#checkAll").attr("checked",false);

}


};

});


 


查看完整回答
反对 回复 2023-03-06
?
慕尼黑8549860

TA贡献1818条经验 获得超11个赞

jsp页面得到从后台传过来的数据循环便利,然后判断在复选框中加入checked="checked" 就可以了。

查看完整回答
反对 回复 2023-03-06
  • 2 回答
  • 0 关注
  • 113 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信