checkbox默认选中的问题

auleit 2014-12-10 09:08:18
小弟我有个字段存储着“aaa,bbb,ccc”,在进入修改功能的时候默认勾选这三个值的复选框。
我需要在jsp页面用spilit将这个字段分割成"aaa","bbb","ccc"。
然后再和checkbox比对,将"aaa","bbb","ccc"的复选框勾上。
知道怎么做,可是代码总写不出来。。。请各位前辈指教
...全文
341 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
slwsss 2014-12-10
  • 打赏
  • 举报
回复
将数组转成json便于下面的判断 if(d[ck[i].value])
引用 7 楼 lhxaiee123 的回复:
auleit 2014-12-10
  • 打赏
  • 举报
回复
引用 6 楼 slwsss 的回复:

<input type="checkbox" name="a" value="aaa"/>
<input type="checkbox" name="a" value="bbb"/>
<input type="checkbox" name="a" value="ccc"/>
<input type="checkbox" name="a" value="ddd"/>
<input type="checkbox" name="a" value="eee"/>
  <script>
    var _val="aaa,ccc,eee";
    _val=_val.split(',');
    var d={};
    for(var i in _val)d[_val[i]]=1;
    var ck=document.getElementsByName('a');
    for(var i=0;i<ck.length;i++){
      if(d[ck[i].value])ck[i].checked=true;
    }
  </script>
确实有用,不过前辈请问:

var d={};
    for(var i in _val)
        d[_val[i]]=1;
这两行是做什么的啊?
slwsss 2014-12-10
  • 打赏
  • 举报
回复

<input type="checkbox" name="a" value="aaa"/>
<input type="checkbox" name="a" value="bbb"/>
<input type="checkbox" name="a" value="ccc"/>
<input type="checkbox" name="a" value="ddd"/>
<input type="checkbox" name="a" value="eee"/>
  <script>
    var _val="aaa,ccc,eee";
    _val=_val.split(',');
    var d={};
    for(var i in _val)d[_val[i]]=1;
    var ck=document.getElementsByName('a');
    for(var i=0;i<ck.length;i++){
      if(d[ck[i].value])ck[i].checked=true;
    }
  </script>
auleit 2014-12-10
  • 打赏
  • 举报
回复
引用 2 楼 slwsss 的回复:
这个用js比较好实现

<input type="checkbox" name="aaa"/>
<input type="checkbox" name="bbb"/>
<input type="checkbox" name="ccc"/>
<input type="checkbox" name="ddd"/>
  <script>
    var _val="aaa,ccc";
    _val=_val.split(',');
    for(var a in _val){
      document.getElementsByName(_val[a])[0].checked=true;
    }
  </script>
我checkbox的name属性都是一样的,因为要把结果存入实体

<c:forEach items="${gradeList}" var="list" varStatus="status">
	<input type="checkbox" name="entity.grade" value="${list.bmname }"/>${list.bmname }
</c:forEach>
auleit 2014-12-10
  • 打赏
  • 举报
回复
有JQuery的方法吗?
异常异长 2014-12-10
  • 打赏
  • 举报
回复
我比较建议楼上的 js
slwsss 2014-12-10
  • 打赏
  • 举报
回复
这个用js比较好实现

<input type="checkbox" name="aaa"/>
<input type="checkbox" name="bbb"/>
<input type="checkbox" name="ccc"/>
<input type="checkbox" name="ddd"/>
  <script>
    var _val="aaa,ccc";
    _val=_val.split(',');
    for(var a in _val){
      document.getElementsByName(_val[a])[0].checked=true;
    }
  </script>
qzw1210 2014-12-10
  • 打赏
  • 举报
回复
前台用el表表达式循环判断,用eq比较。

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧