读取数据后,如何将已选的checkbox选中?

oceans0501 2009-10-23 10:51:10
比方说,通过角色列出用户,用户信息通过表格的列出,每个用户前面是一个复选框,如何将以前勾选过的用户选中
要求技术:jstl+el+js

我后台传过来的是两个list,一个包含所有用户信息,另一个是该角色的用户,如何做对比,把存在的勾选出来
...全文
381 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
zqs262861268 2009-10-23
  • 打赏
  • 举报
回复
在jsp页面用list循环 check="${值}==value?'':checked"
El表达式 三元运算符
lihao1129 2009-10-23
  • 打赏
  • 举报
回复
function checkboxDel(){
var inputs = document.all.tags("input");
var id="";
for (var i=0;i<inputs.length;i++)
{
//如果此input元素的类型为checkbox,并且其id中包含chkSelect

//设置此复选框的checked与全选复选框相同
if (inputs[i].type == "checkbox" && inputs[i].id.indexOf("check")>=0)
{
if(inputs[i].checked == true){
//选中的值
id += inputs[i].value + ',';
}
}
}
document.forms[0].action+="?method=toCheckboxDel&id="+id;
document.forms[0].submit();
}

这是我自己写的工程里的一段 没有修改,你看下吧
oceans0501 2009-10-23
  • 打赏
  • 举报
回复
我没表达清楚
所有用户是一个list,取得某个角色的用户id也是个list,这两个list用jstl怎么对比里面的属性
fanxing168 2009-10-23
  • 打赏
  • 举报
回复
学习。
lxf001002 2009-10-23
  • 打赏
  • 举报
回复
比对值加checked属性
kala197 2009-10-23
  • 打赏
  • 举报
回复
在你遍历的时候 获取值 并判断 就OK了
kala197 2009-10-23
  • 打赏
  • 举报
回复
你的类似这个 自己看看怎么改下
<td>
允许用户自选风格
</td>
<% String setting57=(String)hsTmp.get("setting57"); %>
<td>

<input name="GroupSetting(57)" type="radio" class="radio"
value="1" <%if("1".equals(setting57)){out.print("checked");} %> />
 否
<input name="GroupSetting(57)" type="radio" class="radio"
value="0" <%if("0".equals(setting57)){out.print("checked");} %> />
</td>
fanyuna 2009-10-23
  • 打赏
  • 举报
回复
每一个用户总有一个角色吧?所以在表中用户表和角色表总有关系啊,我觉得应该是多对多的关系,这样您就用表与表之间的关系来查找每个用户的角色与该角色进行匹配,符合就让checkbox选中。这只是本人的看法,希望对您有帮助!!
老猫的TOM 2009-10-23
  • 打赏
  • 举报
回复
我前几天收集的一个例子是单选按钮的例子希望对你复选框也能用

<input name="hiPartyitems.allowreply" type="radio" value="1" <if test="${hiPartyitems.allowreply == 1}"> checked </if> />允许评论

<input name="hiPartyitems.allowreply" type="radio" value="0"
<if test="${hiPartyitems.allowreply == 0}"> checked </if>/>不允许评论
swandragon 2009-10-23
  • 打赏
  • 举报
回复
如何做对比,把存在的勾选出来

你要做勾选就应该是满足某个条件的

只要找到符合这个条件的 checked=true
zpjava 2009-10-23
  • 打赏
  • 举报
回复
checked 里面总要有个value值吧
swandragon 2009-10-23
  • 打赏
  • 举报
回复
如何将以前勾选过的用户选中
如果以前勾选过了,一定会有个标识什么的来表示这个被勾选了吧

遍历list找到这个标识
checked=true 就行了
shang_zchao 2009-10-23
  • 打赏
  • 举报
回复
角色list中有没有用户的id?
oceans0501 2009-10-23
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 zhouzhijian888 的回复:]
便利 所有用户信息 的时候
复选框的 属性
写个 判断 if(是不是该角色用户)
是 就 checked=true
否 就 checked=false

[/Quote]
就是这地方有问题,我该拿什么和什么比较呢,用户信息里没有roleId啊
zhouzhijian888 2009-10-23
  • 打赏
  • 举报
回复
便利 所有用户信息 的时候
复选框的 属性
写个 判断 if(是不是该角色用户)
是 就 checked=true
否 就 checked=false
oceans0501 2009-10-23
  • 打赏
  • 举报
回复
原来可以写双循环,真无语了,谢谢大家啦
不知道大家还有啥好的意见没
oceans0501 2009-10-23
  • 打赏
  • 举报
回复
<c:forEach var="user" items="${userList}">

<tr height="20">
<td>
<input name="userId" type="checkbox" id="all"
value="${user.id}"
<c:forEach var="user2" items="${userListByRole}">
<c:if test="${user2.id==user.id}">checked="checked"</c:if>
</c:forEach>>
</c:forEach>
liguominz 2009-10-23
  • 打赏
  • 举报
回复
jstl的标签是可以解决这个问题的
liguominz 2009-10-23
  • 打赏
  • 举报
回复
你再页面写循环判断啊,
你以前选中了的,数据库里面总有数据记录啊
进行比较就好了啊~~~
zuoshouaini 2009-10-23
  • 打赏
  • 举报
回复
上面的基本可以解决 但如果考虑到易维护 还是用标签库 不要使用表达式
加载更多回复(3)

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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