下拉菜单连动效果的一种用法
来源:互联网 发布:全屏轮播图源码 编辑:程序博客网 时间:2024/06/04 18:55
页面js:
/** * 物料分类Json * {mainId:{ * mainName, subJsonObject:{ * subId:{subName, minJsonObject:{ * minid:minName}}}}} */var materialTypeInfoJson;$(function(){//更改物料大分类获取对应中分类和小分类$("#mainTypeId").on("change", function(){var mainTypeId = $("#mainTypeId").val(); var subTypeId = $("#subTypeId").val(); var mainId = $("#subTypeId").find("[value='"+subTypeId+"']").attr("pater");if(mainTypeId != undefined && mainTypeId != ""){$("#subTypeId").children(":gt(0)").hide();$("#subTypeId").children("[pater='"+mainTypeId+"']").show();if(mainId != mainTypeId){ $("#subTypeId").val("");}}else{$("#subTypeId").children().show();$("#subTypeId").val("")}$("#subTypeId").trigger("change");});//更改物料中分类获取对应大分类和小分类$("#subTypeId").on("change", function(){ var subTypeId = $("#subTypeId").val(); var minTypeId = $("#minTypeId").val(); var subId = $("#minTypeId").find("[value='"+minTypeId+"']").attr("pater");$("#minTypeId").children(":gt(0)").hide(); if(subTypeId != undefined && subTypeId != ""){ var mainId = $("#subTypeId").find("[value='"+subTypeId+"']").attr("pater"); $("#mainTypeId").val(mainId);$("#subTypeId").children(":gt(0)").not("[pater='"+mainId+"']").hide();$("#minTypeId").children("[pater='"+subTypeId+"']").show();if(subId != subTypeId){$("#minTypeId").val("");} }else{ $("#subTypeId").children(":gt(0)").each(function(){ var style = $(this).attr("style"); if(/display: none;/.test(style)){ return; }; var subId_temp = $(this).val(); $("#minTypeId").children("[pater='"+subId_temp+"']").show(); });$("#minTypeId").val(""); }});//更改物料小分类获取对应大分类和中分类$("#minTypeId").on("change", function(){ var minTypeId = $("#minTypeId").val(); if(minTypeId != undefined && minTypeId != ""){ var subId = $("#minTypeId").find("[value='"+minTypeId+"']").attr("pater"); $("#subTypeId").val(subId); $("#subTypeId").trigger("change"); }});//获取物料分类Jsonif(materialTypeInfoJson == undefined || materialTypeInfoJson == ""){$.ajax({type : "post",url : contentPath + "/ajax/getMaterialTypeInfo.do",async : false,success : function(data) {materialTypeInfoJson = data;},dataType : "json"});drawSelectOption(materialTypeInfoJson);}});//根据传过来的参数,画物料分类下拉框选项function drawSelectOption(jsonObj){var mainTypeSelect = $("#mainTypeId");var mainTypeId = mainTypeSelect.val();mainTypeSelect.empty();$("<option value>N/A</option>").appendTo(mainTypeSelect);var subTypeSelect = $("#subTypeId");var subTypeId = subTypeSelect.val();subTypeSelect.empty();$("<option value>N/A</option>").appendTo(subTypeSelect);var minTypeSelect = $("#minTypeId");var minTypeId = minTypeSelect.val();minTypeSelect.empty();$("<option value>N/A</option>").appendTo(minTypeSelect);$.each(jsonObj, function(k,v){var mainId = k;var mainName = v.mainName;var subJsonObject = v.subJsonObject;$("<option value=\""+mainId+"\">"+mainName+"</option>").appendTo(mainTypeSelect);$.each(subJsonObject, function(k,v){var subId = k;var subName = v.subName;var minJsonObject = v.minJsonObject;$("<option value=\""+subId+"\" pater=\""+mainId+"\">"+subName+"</option>").appendTo(subTypeSelect);if(minJsonObject == undefined){return;}$.each(minJsonObject, function(k,v){var minId = k;var minName = v.minName;$("<option value=\""+minId+"\" pater=\""+subId+"\">"+minName+"</option>").appendTo(minTypeSelect);});});});mainTypeSelect.val(mainTypeId);mainTypeSelect.trigger("change");subTypeSelect.val(subTypeId);subTypeSelect.trigger("change");minTypeSelect.val(minTypeId);minTypeSelect.trigger("change");}
Action:
public class GetMaterialTypeInfoAction extends ERPSTDProxyAction{protected ActionForward doExecute(FormBean parameterFB, ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response)throws Exception {TableBean materialTypeTB = this.getERPServiceDelegation().getItemMasterService().getMaterialTypeInfo();JSONObject jsonObject = new JSONObject();JSONObject mainTypeJSONObject = null;//大分类JSONObject subTypeJSONObject = null;//中分类JSONObject subJsonObject = null;//中分类JSONObject minTypeJSONObject = null;//小分类JSONObject minJsonObject = null;//小分类for(int i = 0; i < materialTypeTB.size(); i ++){RowBean materialTypeRB = materialTypeTB.get(i);String mainId = materialTypeRB.getCellBeanValue("mainId");String mainName = materialTypeRB.getCellBeanValue("mainName");String subId = materialTypeRB.getCellBeanValue("subId");String subName = materialTypeRB.getCellBeanValue("subName");String minId = materialTypeRB.getCellBeanValue("minId");String minName = materialTypeRB.getCellBeanValue("minName");//处理大分类if(jsonObject.containsKey(mainId)){mainTypeJSONObject = jsonObject.getJSONObject(mainId);}else{mainTypeJSONObject = new JSONObject();mainTypeJSONObject.put("mainName", mainName);subJsonObject = new JSONObject();}//处理中分类if(subJsonObject.containsKey(subId)){subTypeJSONObject = subJsonObject.getJSONObject(subId);}else{subTypeJSONObject = new JSONObject();subTypeJSONObject.put("subName", subName);minJsonObject = new JSONObject();}//处理小分类minTypeJSONObject = new JSONObject();minTypeJSONObject.put("minName", minName);minJsonObject.put(minId, minTypeJSONObject);//json是用值传递,内容更改后需重新保存subTypeJSONObject.put("minJsonObject", minJsonObject);subJsonObject.put(subId, subTypeJSONObject);mainTypeJSONObject.put("subJsonObject", subJsonObject);jsonObject.put(mainId, mainTypeJSONObject);}PrintWriter pw = response.getWriter();pw.print(jsonObject.toString());pw.flush();return null;}}
阅读全文
0 0
- 下拉菜单连动效果的一种用法
- 无限连动下拉菜单
- ajax连动下拉菜单
- 最简单的二个下拉菜单连动范例
- 连动下拉菜单(js)
- 用HTML创建连动下拉菜单
- 一个下拉菜单动态或静态生成的二级连动
- .Net之Winform桌面应用程序中Combobox三级下拉菜单连动问题的解决方案
- Yii - 连动下拉菜单,可多级哦
- JS连动下拉框的实现
- 下拉条的连动(36)
- xmlhttp实现的三级连动下拉菜单(无刷新)经测试,有bug。无法三级联动,只能两级连动。
- DropDownList连动菜单
- DynamicOptionList连动菜单
- jsp连动菜单
- 下拉框两级连动
- asp连动下拉框
- ajax下拉列表连动
- 在java中,实现scala的Seq转Java的List
- 利用LruCache封装一个自带三级缓存的ImageLoader
- Linux:vim
- 人脸识别之人脸对齐(七)--JDA算法
- 义齿加工假牙雕铣高速电主轴应用方案
- 下拉菜单连动效果的一种用法
- RecyclerView.Adapter 点击事件
- 学习《凸优化》笔记,基本摘抄自斯坦佛版凸优化教程(一)
- springboot(二):web综合开发
- 三千亿美元:比特币价格推升加密货币市值突破新纪录
- 新生赛第二场 C题
- 分析:世界最大比特币市场日本的“宽松”监管,是福是祸?
- 伊朗:欢迎比特币,但要加以监管
- 加密货币持续上涨,前SEC委员表明"ICO绝对是证券”