关于S:checkbox 显示后台值的问题

marcblue 2010-08-31 11:07:18
前台页面我有几个checkbox例如
<s:checkbox  name="area"  fieldValue="110000" value="false" />北京市<s:checkbox  name="area"  fieldValue="120000" value="false" />天津市<s:checkbox  name="area"  fieldValue="130000" value="false" />河北省
,后台action返回给页面一个数组里面内容比如说是北京市和天津市,如何让前台对应的checkbox选中呢?
...全文
158 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
young_smile 2010-08-31
  • 打赏
  • 举报
回复
action写隐藏域到页面,
利用JS取道隐藏域的值,
根据隐藏域的值改变checkbox的选中状态。
shanxmxj 2010-08-31
  • 打赏
  • 举报
回复
给checkbox里加一个值,然后在页面上判断下 你取出来的值与加的值匹配就checked
draglonglong 2010-08-31
  • 打赏
  • 举报
回复
加一个隐藏的code来区别每个数据的不同。。这样就可以区别了!
tianshi1017 2010-08-31
  • 打赏
  • 举报
回复
前台的checkbox是从数据库中读出来的么
lnner 2010-08-31
  • 打赏
  • 举报
回复
写一个onload方法,页面加载时调用
var cbx=document.getElementsByName("area");
for(var i=0;i<cbx.length;i++)
{
if(cbx[i].value='选中的地点')
{
cbx[i].checked=true;
}
}
behappy373 2010-08-31
  • 打赏
  • 举报
回复
如楼上,采用<s:if>标签来判断
javabm 2010-08-31
  • 打赏
  • 举报
回复
哦,拼错了是check,方法笨了点,但可定可以解决。

不用这种方法,也可以用把数组设到隐藏域,用js取值做判断,也是可以的。希望能帮到你
javabm 2010-08-31
  • 打赏
  • 举报
回复
<c:forEach items="${checkbox}" var="check">
<c:forEach items="${array}" var="arr">
<c:if test="${arr == check}">cheched="true"</c:if>
</c:forEach>
</c:forEach>
javabm 2010-08-31
  • 打赏
  • 举报
回复
一般用c标签+el表达式,设数组名为"array"

<c:forEach items="${array}" var="arr">
<c:if test="${arr == '北京市'}">cheched="true"</c:if>
</c:forEach>

其实可以将整个checkbox要显示的数据也传过来,做个两重循环,就搞定了

81,087

社区成员

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

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