如何动态的制作级联菜单(下)
2017-08-02 17:18
162 查看
上一期给大家介绍了如何编写一个动态级联的下拉框组,这一期为大家简述如何将下拉框组中的数据存储到数据库中。
其实这个问题的关键点在于信息数量的不确定,以及如何获取这些数据。如下图:
父选项框组的数量是确定的,而子选项框组中的数据则是可以通过新增按钮和删除按钮进行增删的,父选项框组和子选项框组的对应关系是一对多的。解决这样的问题无非两种思路,其一是把一化为多,另一种是把多化为一。为了数据存入数据库后再次读取的方便,我们选择将多组子选项框中的数据化为一组自选项框数据。
前面有说到问题的难点在于获取子选项框组的数量,即为子选项框组的行数。此处我用的方法是在前端代码中直接获取行数,并将其传值至controller中。方法如下:
1、首先,
var testItemProcessA = $("#testItemTbody"); var rows = testItemProcessA.find("tr").length;
其中testItemTbody为子选项框所在的tbody,通过获取tbody,找到其中tr的数量,即为子选项框的行数。
2、其次,
<input type='hidden' name='itemRows' value=rows >
通过隐藏输入域进行传值,在界面中不会显示该输入域,但是的确存在,这样在controller中可以通过request.getParameterValues()的方法获取每一次新增项目的子选项框组的行数构成的数组。
获取到了自选项框组的行数后,重点转移到了如何将多组数据化为一组数据进行存储,此处使用数组和for循环便可以实现。
int itemCount = testItem.length;//新增项目数目 String[] itemRows = request.getParameterValues("itemRows");//每组项目中子选项组数 String[] testItem = request.getParameterValues("testItem");//父选项框 String[] itemParam = request.getParameterValues("itemParam");//子选项框1 String[] itemStandard = request.getParameterValues("itemStandard");//子选项框2 String[] judgement = request.getParameterValues("judgement");//子输入域 //用于存储每组项目整合后对应子选项框的数据 String[] itemParamA = new String[itemCount]; String[] itemStandardA = new String[itemCount]; String[] judgementA = new String[itemCount]; if(testItem!=null){ int currentIndex = 0;//代表未整合的数据中当前读取数据的行数 for (int i=0; i<testItem.length; i++){ itemParamA[i] = itemParam[currentIndex]; itemStandardA[i] = itemStandard[currentIndex]; judgementA[i] = judgement[currentIndex]; int rows = Integer.parseInt(itemRows[i]); for (int j=1; j<rows; j++){ itemParamA[i] += "," + itemParam[currentIndex+j]; itemStandardA[i] += "," + itemStandard[currentIndex+j]; judgementA[i] += "," + judgement[currentIndex+j]; } currentIndex = currentIndex + rows; } }
欢迎关注JavaTree一起探讨学习
相关文章推荐
- 如何动态的制作级联菜单(上)
- 如何制作gif图片?如何制作你项目的动态效果图到你的csdn?
- 如何录屏制作动态图片,并在markdown中显示
- 如何用CSS制作横向菜单?
- 如何在MFC中动态添加菜单/菜单项、子菜单、右键菜单
- 如何实现动态树形菜单
- PB如何实现动态建立菜单
- 如何在SharePoint2007中实现下拉列表(DropDownList)的级联菜单效果
- 用Delphi制作动态菜单
- 如何做DVD动态菜单
- 用DWR框架技术轻松实现动态级联菜单
- 如何制作一个动态的时间每隔一秒进行跳转
- asp动态级联菜单代码
- 关于级联菜单的动态生成以及状态回显
- MFC中的CMenu---如何动态添加菜单/菜单项、子菜单、右键菜单
- 使用jquery制作动态加载型菜单
- 如何制作以旋转菜单为操作形式的相册?
- 如何用CSS制作横向菜单?
- 用Delphi制作动态菜单 该文章《用Delphi制作动态菜单》
- 使用dtree生成的树结构,ajax动态加载子节点后,如何绑定右键菜单续