求助帖:一个jsp页面上利用JS选中复选框开发逻辑实现方法

蜗牛都玩F1 2013-01-24 01:17:51
JSP页面一:

点击“显示片信息”则:
JSP页面二:

需求描述:
点击“筛选”按钮,把“筛选条件”的所填参数传递至后台,用SQL查询的结果(现指定值unit_rrn)与页面checkboxList的每个复选框对应的值(unit_rrn[i])相匹配;若相同的话则复选框自动勾上!求答复^_^
-----------------------Sql文:------------------
select a.unit_rrn from ( select t.unit_rrn,
min(scanbk_ZXD(rawdata)) bvceo1,
max(scanbk_ZXD(rawdata)) bvceo2,
min(scants_ZXD(rawdata)) ts1,
max(scants_ZXD(rawdata)) ts2
from unit_sp_data t,unit u,lot l
where t.unit_rrn=u.unit_rrn
and u.lot_rrn=l.lot_rrn
and l.lot_rrn=18509336
group by t.unit_rrn)a
where a.bvceo1>='参数1' and a.bvceo2<='参数2'
and a.ts1>='参数3' and a.ts2<='参数4'
-------------------------获取页面上每个checkbox(复选框)对应的unit_rrn数组:--------
String unit[]=document.getElementsByName("addselectbox")[i].value)
...全文
198 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
蜗牛都玩F1 2013-01-29
  • 打赏
  • 举报
回复
引用 楼主 huipers 的回复:
JSP页面一: 点击“显示片信息”则: JSP页面二: 需求描述: 点击“筛选”按钮,把“筛选条件”的所填参数传递至后台,用SQL查询的结果(现指定值unit_rrn)与页面checkboxList的每个复选框对应的值(unit_rrn[i])相匹配;若相同的话则复选框自动勾上!求答复^_^ -----------------------Sql文:---……
这是我最后归纳的可行方法: String units = (String)RequestUtils.lookup(pageContext,"item","unitRrn", null);便能把<logic:iterate> ...</logic:iterate>的每个checkBox对应的unit_rrn值遍历! 预先把筛选参数赋值,创建一个筛选条件方法:HashMap unitMap = getPickedUnits(lotId,参数1,参数2,参数3,参数4), 然后你点击“筛选”button,设定一个Action调用:if(unitMap.containsKey(units))则显示:<td><input type="checkbox" checked value="..." ></td> else 则显示不checked!
为啥呢 2013-01-24
  • 打赏
  • 举报
回复
引用 6 楼 huipers 的回复:
引用 3 楼 xodbc 的回复:LZ的程序不需要分页么?需要的话当前页选中,不是当前页的怎么办?不需要的话为什么不用js去判断数据是否匹配呢?嗯!明白你的意思,不过没一批次最多不超过50片,分页用不着。我就是用JS去做,但是只能把当前页所有片子的值取出来,还必须与后台SQL查询的值取匹配然后确定该checkBox是否该checked
这种不涉及安全问题的表单可以直接将后台用来验证的数据放在页面上,因为你每页只有50条数据,所以我猜用于验证的数据量也很小,因此可以直接通过js进行完全的比对并得出结果,这样所有操作只需要一次提交,服务器端只需要验证提交的数据格式就可以了。
  • 打赏
  • 举报
回复
引用 11 楼 huipers 的回复:
引用 1 楼 EverWHL 的回复: if判断 如果<c:if unit_rrn=unit_rrn[i]> 选中操作 </c:if> <c:else> 正常显示checkbox </c:else>再进一步请教下,递交页面参数至后台查询结果是collection型,JSP页面上显示的是String[]数组型 ;if()判断弄不来吧?……
在后台就可以先把数据处理好,如果是collection型的可以先转化成ArrayList集合,在页面的时候再进行迭代输出,这是我随便复制的自己一段代码,中间有删除,不能保证都对,或许对jstl标签会有所熟悉 <c:forEach items="${flowlist}" var="item" varStatus="i"> <c:choose> <c:when test="${i.index==0}"> 写想要的 </c:when> </c:choose> 也可以写<c:if test="${i.index==0}"> 写想要的 </c:if> <ul> <c:forEach items="${item.list}" var="item2" varStatus="i"> <li id="${id}"> <a href="#" id="itmes22" onclick="showOpenWindow('${item2.page}','${item2.flowtypecode}');return false;"> ${item2.flowname} </a> </li> </c:forEach> </ul> </c:forEach>
蜗牛都玩F1 2013-01-24
  • 打赏
  • 举报
回复
引用 1 楼 EverWHL 的回复:
if判断 如果<c:if unit_rrn=unit_rrn[i]> 选中操作 </c:if> <c:else> 正常显示checkbox </c:else>
再进一步请教下,递交页面参数至后台查询结果是collection型,JSP页面上显示的是String[]数组型 ;if()判断弄不来吧?
蜗牛都玩F1 2013-01-24
  • 打赏
  • 举报
回复
引用 8 楼 wenguohua_123 的回复:
引用 7 楼 huipers 的回复:引用 5 楼 wenguohua_123 的回复:引用 2 楼 huipers 的回复:引用 1 楼 EverWHL 的回复:if判断 如果<c:if unit_rrn=unit_rrn[i]> 选中操作 </c:if> <c:else> 正常显示checkbox </c……
嗯!学习了
菖蒲老先生 2013-01-24
  • 打赏
  • 举报
回复
引用 2 楼 huipers 的回复:
引用 1 楼 EverWHL 的回复:if判断 如果<c:if unit_rrn=unit_rrn[i]> 选中操作 </c:if> <c:else> 正常显示checkbox </c:else> -------------------------- 不好意思~这jsp里还有<c:>...</c:>?……
这是jstl标签。。。
  • 打赏
  • 举报
回复
引用 7 楼 huipers 的回复:
引用 5 楼 wenguohua_123 的回复:引用 2 楼 huipers 的回复:引用 1 楼 EverWHL 的回复:if判断 如果<c:if unit_rrn=unit_rrn[i]> 选中操作 </c:if> <c:else> 正常显示checkbox </c:else> ---------……
写java代码是简单些,但是页面看起来会不工整,直接用标签就好看些,也可以用框架的标签 一般都是建议在页面不提倡直接写java代码
蜗牛都玩F1 2013-01-24
  • 打赏
  • 举报
回复
引用 5 楼 wenguohua_123 的回复:
引用 2 楼 huipers 的回复:引用 1 楼 EverWHL 的回复:if判断 如果<c:if unit_rrn=unit_rrn[i]> 选中操作 </c:if> <c:else> 正常显示checkbox </c:else> -------------------------- 不好意思~这……
还有这种用法!!学习了~不过我现在的用法是这样的: <% if(unit_rrn=unit_rrn[i]){ %> <td> ┉┉┉ </td> <% }else{ %> <td> ┉┉┉ </td> <% } %> 貌似你这个比较简洁哦
蜗牛都玩F1 2013-01-24
  • 打赏
  • 举报
回复
引用 3 楼 xodbc 的回复:
LZ的程序不需要分页么?需要的话当前页选中,不是当前页的怎么办?不需要的话为什么不用js去判断数据是否匹配呢?
嗯!明白你的意思,不过没一批次最多不超过50片,分页用不着。我就是用JS去做,但是只能把当前页所有片子的值取出来,还必须与后台SQL查询的值取匹配然后确定该checkBox是否该checked
  • 打赏
  • 举报
回复
引用 2 楼 huipers 的回复:
引用 1 楼 EverWHL 的回复:if判断 如果<c:if unit_rrn=unit_rrn[i]> 选中操作 </c:if> <c:else> 正常显示checkbox </c:else> -------------------------- 不好意思~这jsp里还有<c:>...</c:>?……
这是Html标签,在页面最上方引入标签<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>,在页面就可以有c标签,这个标签戒指可以拿后台的对象或字符串在页面做判断。。。
鸡肋啊 2013-01-24
  • 打赏
  • 举报
回复
引用 楼主 huipers 的回复:
JSP页面一: 点击“显示片信息”则: JSP页面二: 需求描述: 点击“筛选”按钮,把“筛选条件”的所填参数传递至后台,用SQL查询的结果(现指定值unit_rrn)与页面checkboxList的每个复选框对应的值(unit_rrn[i])相匹配;若相同的话则复选框自动勾上!求答复^_^ -----------------------Sql文:----------------……
你的需求点击“筛选”按钮后页面不刷新的吗?如果刷新的话,那简单所有的复选框都勾上就可以了;如果不刷新的话你根本就不用进后台,直接拿页面上的数据来比较是否属于筛选范围,属于的话勾上复选框;
为啥呢 2013-01-24
  • 打赏
  • 举报
回复
LZ的程序不需要分页么?需要的话当前页选中,不是当前页的怎么办?不需要的话为什么不用js去判断数据是否匹配呢?
蜗牛都玩F1 2013-01-24
  • 打赏
  • 举报
回复
引用 1 楼 EverWHL 的回复:
if判断 如果<c:if unit_rrn=unit_rrn[i]> 选中操作 </c:if> <c:else> 正常显示checkbox </c:else>
-------------------------- 不好意思~这jsp里还有<c:>...</c:>??是干吗的呀
EverWHL 2013-01-24
  • 打赏
  • 举报
回复
if判断 如果<c:if unit_rrn=unit_rrn[i]> 选中操作 </c:if> <c:else> 正常显示checkbox </c:else>

81,092

社区成员

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

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