dijit/form/FilteringSelect 的使用记录
2017-07-17 14:07
549 查看
项目中需要用到二级联动的下拉框,第一级下拉框是同步加载的,第二级是根据第一级的选择项js动态生成。花了不少的时间调试,把它记录下来,给自己和开发中要用到的大家一点参考。先上效果图:
上代码:
dept.jsp
dept.js
说明:dijit/form/FilteringSelect中的list可以是list也可以是map:
map是需要自己将key和value自己拼装,麻烦点,但是看起来会明白点,最后没用map的原因是在后面修改时,name中值无法回写,可能是自己哪里没配好,导致找了很长时间也没找出原因。s:select 中的listKey listValue分别就是map中的key和value;
list的列表中的是dept的javabean,包含”deptId” 、”name”等字段信息,配置如dept.jsp所示。
才疏学浅,写得不对的地方欢迎点评,私信。
也可关注我的微信公众号『TyronToCoder』,一起交流学习。
上代码:
dept.jsp
<s:select data-dojo-type="dijit/form/FilteringSelect" name="firstDeptCode" onchange="dept.select(this.value, null)" list="#request.firstDeptViews" listKey="deptId" listValue="name"></s:select> <input data-dojo-type="dijit/form/FilteringSelect" id="form_deptCode" name="deptCode"/>
dept.js
/** * url:将上一级部门的ID作为参数,获取到二级部门list:secondDeptViews */ dept.select = function (deptId, deptCode) { var secondDeptSelect = dijit.registry.byId("form_deptCode"); request.post(url,{ handleAs : "json", data : { deptId: deptId }, preventCache : true }).then(function(data) { var secondDeptViewsData = data.secondDeptViews; secondDeptSelect.store = new dojo.store.Memory({ idProperty: "code", data : secondDeptViewsData }); // 新建或修改或查询时,设置二级部门值 if (parent != "" && parent > 0){ // 如果是新建或查询,设置列表第一个值 if (deptCode == null){ secondDeptSelect.set("value", secondDeptViewsData[0].code); } // 如果是修改,将原code设值 else { secondDeptSelect.set("value", deptCode); } } }, function(error) { util.msgDlg(error); }); };
说明:dijit/form/FilteringSelect中的list可以是list也可以是map:
map是需要自己将key和value自己拼装,麻烦点,但是看起来会明白点,最后没用map的原因是在后面修改时,name中值无法回写,可能是自己哪里没配好,导致找了很长时间也没找出原因。s:select 中的listKey listValue分别就是map中的key和value;
list的列表中的是dept的javabean,包含”deptId” 、”name”等字段信息,配置如dept.jsp所示。
才疏学浅,写得不对的地方欢迎点评,私信。
也可关注我的微信公众号『TyronToCoder』,一起交流学习。
相关文章推荐
- 动态为 dijit.form.FilteringSelect 加载数据
- 公司任务:解析一个二次封装dojo组件,进一步解析dijit/form/FilteringSelect的搜索功能。
- DOJO-dijit.form.FilteringSelect(扩展下拉菜单,封装了刷新函数)
- 使用select into outfile "文件"语句导出数据表记录
- javascript使用html中form表单中的select类建立级联菜单
- ADF组件之 SelectBooleanCheckbox使用(用于查询Form)
- dojo控件FilteringSelect的使用经历
- VS2005 && MasterPage && Form 的一些相关使用记录
- rails中使用form.select创建动态的下拉菜单 推荐
- js 使用form表单select类实现级联菜单效果
- “取出数据表中第10条到第20条记录”的sql语句+select top 使用方法
- dijit.form.Select菜单项的数据通过rest加载
- 记录最近工作使用javascript对select[option]的操作
- 记录一次使用knockout实现表格中select绑定,并选中默认值。
- 使用INSERT…SELECT语法插入记录(三十二)
- django form使用学习记录
- select2 使用记录 (3.5.1版本)
- thinkphp5里面 使用where('id',$id)->select()查询一条记录,在视图页面出错
- form:select 使用总结
- html中的select标签使用记录