同一个表单中,我想根据一个文本框输入的个数来显示表单另一行复选框的个数。或者弹出Dialog或弹出小页面窗体,怎么做,求助大侠帮助~~~最好能提供代码,谢谢!!(我现在是在js中读取文本框输入的数字,然后用Ajax的dwr框架传参给后台,后台通过一个list存放复选框的个数和值,然后再在页面通过jstl标签遍历list,但是这样做页面加载后list里面没值,jstl拿到的是0)求助!~~

解决方案 »

  1.   

    前台你不用jstl ,就直接遍历出来嘛
      

  2.   

    但是这样做页面加载后list里面没值。你不是在input输入框输入值的时候,dwr才进后台去查询然后封装list,再循环显示复选框的吗?那你在刷新了当前页面之后,肯定复选框就不见了。不明白你,在页面加在后,list没有值是什么意思?你的意思是不是这样的,在新增页面,在输入框输入数字,然后复选框显示出来。新增完毕后,再去点击修改,复选框没有显示出来?要是这样的话,很简单。你点击修改的时候,去查询db,将复选框的值查询出来,封装到list中,在修改页面显示即可。类似于新增画面的循环。如果新增画面和修改画面的list循环输出复选框这个方法不能公用,那也简单,在修改画面单独写一个类似于新增画面的区域,进行输出复选框即可。有什么难度吗。
      

  3.   

    不是的, 我现在是添加的时候复选框的显示有问题,就是页面加载的时候jstl已经对list进行遍历,那时候我还没有输入,所以复选框显示不出来。
      

  4.   


    这个难吗?在<c:foreach>循环标签外面加一个<div id="doHide" style="display:none">。 
    当在input输入的时候,调用jquery,请求后台之后,再document.getElementById("doHide").style.display="block";
    这样不就ok了?
      

  5.   

    +
    其实用ajax是可以的,你在输入的时候再提交ajax请求啊。获得后台list后返回到页面,刷新指定区域就是了啊,这有什么问题吗?
      

  6.   

    我现在就差不多是这样,但是页面加载的时候就对div加载了吧?所以list里面的东西还是拿不到。
      

  7.   

    你第一次进入页面,按照你说的,没有点击input,则不会出发jquery去查询数据,再刷新div,当然拿不到。只有当你点击了input输入了数字,彩绘出发jquery去后台查询资料,刷新div,这次就会有数据了。list的东西肯定可以拿到。
      

  8.   

    就是只要刷新那个div层就可以了对吧,具体怎么刷新呢,能不能给下代码。我div里面是jstl遍历list可以吗?
      

  9.   


    jquery刷新html组件,其实是通过刷新dom的方式实现的,所以,需要手动拼接html。你参考一下我的blog:http://blog.csdn.net/iisgirl/article/details/7355815只看jquery删除的那个方法,从后台查询数据后,循环,拼接html输出。
      

  10.   

    不在js中写html代码,就用jquery的load方法刷新复选框所在的那个层可以吗,我现在用$("#luStatus").load("Add_Device.jsp #luStatus");(//“luStatus”是div层的id)这句代码刷新div,但是没什么反应,复选框也没有重新遍历list显示出来,这样刷新是不是会重新载入那个div的,jstl是不是会重新遍历list 的?不是很清楚。另外你的方法看起来有点复杂,jquery现在不熟悉,还不怎么会用。请指教!谢谢