<z:select>级联操作
2016-07-07 16:31
309 查看
在做项目的时候,碰到了级联操作问题,由于对公司所用东西不熟悉,导致两次都浪费不少时间,这次记录一下,以备查阅
1.首先我把前台页面粘贴过来,我要通过餐馆来控制所在区域,因此在餐馆下拉框中添加了onChange事件
<tr height="30">
<td>@{Orderplugin.Restaurant.RestaurantName} : </td>
<td>
<z:select name="RestaurantCode" id="RestaurantCode"
verify="Int&&NotNull" value="${RestaurantCode}"
style="width:143px" onChange="initBelongArea(this.value)"
method="Dish.getRestaurantCodeOptions" defaultBlank="true">
</z:select>
</td>
</tr>
<tr>
<td>@{Orderplugin.Restaurant.BelongArea} : </td>
<td>
<z:select name="BranchInnerCode" id="BranchInnerCode"
verify="NotNull" value="${BranchInnerCode}"
style="width:143px"
method="Dish.getBranchInnerCodeOptions" defaultBlank="true">
</z:select>
</td>
</tr>
2.onChange事件代码
<script type="text/javascript">
function initBelongArea(value){
Selector.setParam("BranchInnerCode","RestaurantCode",value); //设置Selector的某参数值
Selector.loadData("BranchInnerCode");
}
</script>
3.接下来就是后台方法
@Priv(DishPriv.MenuID)
public DataTable getBranchInnerCodeOptions() {
String restaurantCode=$V("RestaurantCode");
Q q=new Q("select RestaurantName from ZDRestaurant where RestaurantCode=?",restaurantCode);
DataTable dt=q.executeDataTable();
List<String> codes=new ArrayList<String>();
if(dt.getRowCount()>0){
String restaurantName=dt.getString(0, 0);
q=new Q("select BranchInnerCode from ZDRestaurant where RestaurantName=?",restaurantName);
dt=q.executeDataTable();
if(dt.getRowCount()>0){
for(int i=0;i<dt.getRowCount();i++){
codes.add(dt.getString(i, 0));
}
}
}
return new Q("select BranchInnerCode,Name from ZDBranch").where().in("BranchInnerCode", codes).fetch();
}
另外:以后碰到问题,先去官网知识库中去找答案,官网网址:zving.com
进到开发者中心进行查阅
1.首先我把前台页面粘贴过来,我要通过餐馆来控制所在区域,因此在餐馆下拉框中添加了onChange事件
<tr height="30">
<td>@{Orderplugin.Restaurant.RestaurantName} : </td>
<td>
<z:select name="RestaurantCode" id="RestaurantCode"
verify="Int&&NotNull" value="${RestaurantCode}"
style="width:143px" onChange="initBelongArea(this.value)"
method="Dish.getRestaurantCodeOptions" defaultBlank="true">
</z:select>
</td>
</tr>
<tr>
<td>@{Orderplugin.Restaurant.BelongArea} : </td>
<td>
<z:select name="BranchInnerCode" id="BranchInnerCode"
verify="NotNull" value="${BranchInnerCode}"
style="width:143px"
method="Dish.getBranchInnerCodeOptions" defaultBlank="true">
</z:select>
</td>
</tr>
2.onChange事件代码
<script type="text/javascript">
function initBelongArea(value){
Selector.setParam("BranchInnerCode","RestaurantCode",value); //设置Selector的某参数值
Selector.loadData("BranchInnerCode");
}
</script>
3.接下来就是后台方法
@Priv(DishPriv.MenuID)
public DataTable getBranchInnerCodeOptions() {
String restaurantCode=$V("RestaurantCode");
Q q=new Q("select RestaurantName from ZDRestaurant where RestaurantCode=?",restaurantCode);
DataTable dt=q.executeDataTable();
List<String> codes=new ArrayList<String>();
if(dt.getRowCount()>0){
String restaurantName=dt.getString(0, 0);
q=new Q("select BranchInnerCode from ZDRestaurant where RestaurantName=?",restaurantName);
dt=q.executeDataTable();
if(dt.getRowCount()>0){
for(int i=0;i<dt.getRowCount();i++){
codes.add(dt.getString(i, 0));
}
}
}
return new Q("select BranchInnerCode,Name from ZDBranch").where().in("BranchInnerCode", codes).fetch();
}
另外:以后碰到问题,先去官网知识库中去找答案,官网网址:zving.com
进到开发者中心进行查阅
相关文章推荐
- 日期加一天
- 1148. 【克罗地亚】INSTRUKCIJE
- python操作oracle完整教程
- struts2---获取参数的三种方式
- android抽屉式侧滑
- Guava_常用
- java继承中的构造方法
- 卡方检验x2检验(chi-square test)
- eclipse启动tomcat奇慢无比
- 【动态规划】XMU 1030 苦恼的月下老人
- 快速开发Grunt插件----压缩js模板
- Hive和Hbase
- JAXB 元素使用说明
- 为GitLab帐号添加SSH keys并连接GitLab
- python3基础
- 文件下载(断点续传)——dataTask
- [暑假集训] jzoj 2016.7.7 noip模拟赛C 总结
- XSS 简单理解
- lintcode:交换链表当中两个节点
- hdu 2594 Simpsons’ Hidden Talents