<z:select>级联操作

在做项目的时候,碰到了级联操作问题,由于对公司所用东西不熟悉,导致两次都浪费不少时间,这次记录一下,以备查阅

1.首先我把前台页面粘贴过来,我要通过餐馆来控制所在区域,因此在餐馆下拉框中添加了onChange事件

<tr height="30">
<td>@{Orderplugin.Restaurant.RestaurantName} :&nbsp;</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} :&nbsp;</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

进到开发者中心进行查阅

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值