RT,怎么将前台的checkbox传到数据库,之后再从数据库读出数据,在前台显示之前选择的checkbox
一般都用什么方法来做?前台传到数据库里面时只能传是否勾选了该checkbox,因此在从数据库里面读出来显示在前台时要自己再放个checkbox吗?

解决方案 »

  1.   

    设置checkbox的values属性,把值写到数据库,读取时从数据库读取,网页上面写成values=<%=变量名%>
      

  2.   

    前台复选框,要注意保证控件的名字(name属性)要一致。
    这样接受时,直接就可以:String[] values = request.getParameterValues("name");
    表单提交时,仅提交被复选的控件的值(value属性)数据库一般也只会负责储存value值,所以JSP页面上的checkbox,需要自行处理。
      

  3.   

    所有的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了!!!
      

  4.   

    保证控件的name属性一致
    然后用js获取 传到后台就可以了
      

  5.   

    <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>拿去吧,少年。
      

  6.   

    this.getRequest().getParameterValues("pds.signedClassId"))
    后台这么取,这个是个数组哦,亲,自己拆了用吧。
      

  7.   

    就是说数据库只存到checkbox的value,之后我再读出来需要根据value的值来判断当时是那几个checkbox被选中了,再自己在我要显示的checkbox里面加checked?
      

  8.   


    是的,如果不用标签的话,可以JSP加Set类似这样处理:
      <input name="ck01" value="xxxx" <%=(setValues.contains("ck01"))?("checked"):("")%> />
      

  9.   

    了解。那如果一次可能选择多个复选框的话,就按照3楼的那个方法,用一个数组将checkbox的值挨个存起来,然后再挨个读出来,进行判断?顺便:3L的代码没看懂,循环里面应该少了一行?
      

  10.   

    这个的循环里面是少了一句吗?str最后是一堆逗号?
      

  11.   

    楼主,思路基本上就和楼上各位说的差不多。具体的实现方式要根据你的代码来进行设计开发。
    一般是在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}&nbsp;&nbsp;
    </c:forEach>