单选框、复选框读取数据库 RT,怎么将前台的checkbox传到数据库,之后再从数据库读出数据,在前台显示之前选择的checkbox一般都用什么方法来做?前台传到数据库里面时只能传是否勾选了该checkbox,因此在从数据库里面读出来显示在前台时要自己再放个checkbox吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 设置checkbox的values属性,把值写到数据库,读取时从数据库读取,网页上面写成values=<%=变量名%> 前台复选框,要注意保证控件的名字(name属性)要一致。这样接受时,直接就可以:String[] values = request.getParameterValues("name");表单提交时,仅提交被复选的控件的值(value属性)数据库一般也只会负责储存value值,所以JSP页面上的checkbox,需要自行处理。 所有的checkbox都叫“hobby”,那么String checkbox[] = request.getParameterValues("hobby");String str = ",";for(int i = 0;i<checkbox.length;i++){str = str+",";}然后把str存到数据库里面;取得时候就取出str字符串,然后以“,“分割,最后看有哪个爱好,,就在你页面上的那个爱好的checkbox的value后加上一个checked就ok了!!! 保证控件的name属性一致然后用js获取 传到后台就可以了 <c:forEach items="${industryIdList}" var="list"> <span style="width: 100px;margin:0 10px 0 0 ;float:left;"><input id="industryId" type="checkbox" class="inputRadio collection" name="pds.industryId" value="${list[0] }"/>${list[1] }</span> </c:forEach>拿去吧,少年。 this.getRequest().getParameterValues("pds.signedClassId"))后台这么取,这个是个数组哦,亲,自己拆了用吧。 就是说数据库只存到checkbox的value,之后我再读出来需要根据value的值来判断当时是那几个checkbox被选中了,再自己在我要显示的checkbox里面加checked? 是的,如果不用标签的话,可以JSP加Set类似这样处理: <input name="ck01" value="xxxx" <%=(setValues.contains("ck01"))?("checked"):("")%> /> 了解。那如果一次可能选择多个复选框的话,就按照3楼的那个方法,用一个数组将checkbox的值挨个存起来,然后再挨个读出来,进行判断?顺便:3L的代码没看懂,循环里面应该少了一行? 这个的循环里面是少了一句吗?str最后是一堆逗号? 楼主,思路基本上就和楼上各位说的差不多。具体的实现方式要根据你的代码来进行设计开发。一般是在action中有两个list,一个list A存放的是原始的复选框的数据;另外一个list B存放的是已经被选中的复选框的数据。将这两个list读取在页面上之后(A list的数据直接在页面显示;B list的数据用隐藏域的形式显示。),之后在进入页面的时候默认调用一个方法对这两个list的值进行获取,然后两个list进行比较。如果list中的值相等就checked=true;这样就可以在页面上选中了。默认进入页面的一个方法:function buttonChoose(){ //已经选择了的。 var buttonType = document.getElementsByName("buttonChoice"); //原始数据 var buttonTypeArr = document.getElementsByName("buttonTypeArr"); var id_allchannel = document.getElementById("id_allchannel"); for(var i = 0 ; i < buttonTypeArr.length ; i++){ for(var j = 0 ; j < buttonType.length ; j++){ if(buttonType[j].value == buttonTypeArr[i].value ){ buttonTypeArr[j].checked =true; buttonTypeArr[j].disabled="disabled" ; } } } }在页面html里面这样进行相关的饿处理的:<c:forEach items="${buttonChoiceList}" var="buttonType"> <input type="hidden" value="${buttonType.buttontype}" name="buttonChoice" id="buttonChoice"> </c:forEach> <c:forEach items="${buttonList}" var="button"> <input type="checkbox" value="${button.dictCode}" name="buttonTypeArr" id="buttonTypeArr">${button.dictName} </c:forEach> 如何让多级联动菜单在添加时也联动 JSP页面中判断某个集合是否为空的问题!! 一道选择题 原因? JSP重复登陆的问题 如何能将选择框的值赋给condition字符串呢? 有用过:<@s.iterator />,<@s.radio />,<@s.select />的吗? 这样判断session是否过期对嘛 新手 java struts2 web开发:急急急 求救!!!java swing + mxgraph实现信令流程图 我靠!这是什么错误??为什么我的jsp经常出现这种错误?? 请问如何解决。 java验证url tomcat服务器相关
这样接受时,直接就可以:String[] values = request.getParameterValues("name");
表单提交时,仅提交被复选的控件的值(value属性)数据库一般也只会负责储存value值,所以JSP页面上的checkbox,需要自行处理。
String checkbox[] = request.getParameterValues("hobby");
String str = ",";
for(int i = 0;i<checkbox.length;i++){str = str+",";
}
然后把str存到数据库里面;取得时候就取出str字符串,然后以“,“分割,最后看有哪个爱好,,就在你页面上的那个爱好的checkbox的value后加上一个checked就ok了!!!
然后用js获取 传到后台就可以了
<span style="width: 100px;margin:0 10px 0 0 ;float:left;"><input id="industryId" type="checkbox" class="inputRadio collection" name="pds.industryId" value="${list[0] }"/>${list[1] }</span>
</c:forEach>拿去吧,少年。
后台这么取,这个是个数组哦,亲,自己拆了用吧。
是的,如果不用标签的话,可以JSP加Set类似这样处理:
<input name="ck01" value="xxxx" <%=(setValues.contains("ck01"))?("checked"):("")%> />
一般是在action中有两个list,一个list A存放的是原始的复选框的数据;另外一个list B存放的是已经被选中的复选框的数据。
将这两个list读取在页面上之后(A list的数据直接在页面显示;B list的数据用隐藏域的形式显示。),之后在进入页面的时候默认调用一个方法对这两个list的值进行获取,然后两个list进行比较。如果list中的值相等就checked=true;这样就可以在页面上选中了。默认进入页面的一个方法:
function buttonChoose(){
//已经选择了的。
var buttonType = document.getElementsByName("buttonChoice");
//原始数据
var buttonTypeArr = document.getElementsByName("buttonTypeArr"); var id_allchannel = document.getElementById("id_allchannel"); for(var i = 0 ; i < buttonTypeArr.length ; i++){
for(var j = 0 ; j < buttonType.length ; j++){
if(buttonType[j].value == buttonTypeArr[i].value ){
buttonTypeArr[j].checked =true;
buttonTypeArr[j].disabled="disabled" ;
}
}
}
}在页面html里面这样进行相关的饿处理的:
<c:forEach items="${buttonChoiceList}" var="buttonType">
<input type="hidden" value="${buttonType.buttontype}" name="buttonChoice" id="buttonChoice">
</c:forEach>
<c:forEach items="${buttonList}" var="button">
<input type="checkbox" value="${button.dictCode}" name="buttonTypeArr" id="buttonTypeArr">${button.dictName}
</c:forEach>