读书人

帖:一个jsp页面下利用JS选中复选框开

发布时间: 2013-02-18 10:50:49 作者: rapoo

求助帖:一个jsp页面上利用JS选中复选框开发逻辑实现方法
JSP页面一:
帖:一个jsp页面下利用JS选中复选框开发逻辑实现方法
点击“显示片信息”则:
JSP页面二:
帖:一个jsp页面下利用JS选中复选框开发逻辑实现方法
需求描述:
点击“筛选”按钮,把“筛选条件”的所填参数传递至后台,用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) jsp sql js
[解决办法]
if判断
如果<c:if unit_rrn=unit_rrn[i]>
选中操作
</c:if>
<c:else>
正常显示checkbox
</c:else>

[解决办法]
LZ的程序不需要分页么?需要的话当前页选中,不是当前页的怎么办?不需要的话为什么不用js去判断数据是否匹配呢?
[解决办法]

引用:
引用: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标签,这个标签戒指可以拿后台的对象或字符串在页面做判断。。。
[解决办法]
引用:
引用:引用:引用:if判断
如果<c:if unit_rrn=unit_rrn[i]>
选中操作
</c:if>
<c:else>
正常显示checkbox
</c:else>

---------……

写java代码是简单些,但是页面看起来会不工整,直接用标签就好看些,也可以用框架的标签
一般都是建议在页面不提倡直接写java代码
[解决办法]
引用:
引用:
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>
[解决办法]

引用:
引用:LZ的程序不需要分页么?需要的话当前页选中,不是当前页的怎么办?不需要的话为什么不用js去判断数据是否匹配呢?嗯!明白你的意思,不过没一批次最多不超过50片,分页用不着。我就是用JS去做,但是只能把当前页所有片子的值取出来,还必须与后台SQL查询的值取匹配然后确定该checkBox是否该checked

这种不涉及安全问题的表单可以直接将后台用来验证的数据放在页面上,因为你每页只有50条数据,所以我猜用于验证的数据量也很小,因此可以直接通过js进行完全的比对并得出结果,这样所有操作只需要一次提交,服务器端只需要验证提交的数据格式就可以了。

读书人网 >Java Web开发

热点推荐