使用DWR实现的联动Select

2007-01-11 周四 DWR学习第二天

这个东西他妈的就是好用,以前写的用联动,满天飞DOM,用这个东西,短短几行就搞定,看来AJAX满天飞的日子不远了

自己写了一个联动Select的例子

 

dwr.xml 如下
xml 代码
  1. < allow >   
  2.      < convert   converter = "bean"   match = "ajax.dwr.linkageSelect.Select" />   
  3.      < create   creator = "new"   javascript = "LinkageSelectAction" >   
  4.      < param   name = "class"   value = "ajax.dwr.linkageSelect.LinkageSelectAction" />   
  5.      < include   method = "findProvinces" />   
  6.      create >   
  7. allow >   

 

java代码如下:
java 代码
  1. package  ajax.dwr.linkageSelect;   
  2.   
  3. public   class  Select {   
  4.      private  String key; // 键   
  5.   
  6.      private  String value; // 值   
  7.   
  8.      private  String nation;   
  9.   
  10.      public  String getNation() {   
  11.          return  nation;   
  12.     }   
  13.   
  14.      public   void  setNation(String nation) {   
  15.          this .nation = nation;   
  16.     }   
  17.   
  18.      public  String getKey() {   
  19.          return  key;   
  20.     }   
  21.   
  22.      public   void  setKey(String key) {   
  23.          this .key = key;   
  24.     }   
  25.   
  26.      public  String getValue() {   
  27.          return  value;   
  28.     }   
  29.   
  30.      public   void  setValue(String value) {   
  31.          this .value = value;   
  32.     }   
  33. }   

 

java 代码
  1. package  ajax.dwr.linkageSelect;   
  2.   
  3. import  java.util.ArrayList;   
  4. import  java.util.HashMap;   
  5. import  java.util.List;   
  6. import  java.util.Map;   
  7.   
  8. public   class  LinkageSelectAction {   
  9.   
  10.   
  11.      public  Map findProvinces(String nation) {   
  12.         Map result =  new  HashMap();   
  13.         List list = initData();   
  14.         Select bean;   
  15.          for  ( int  i =  0 ; i < list.size(); i++) {   
  16.             bean = (Select) list.get(i);   
  17.              if  (bean.getNation().equals(nation)) {   
  18.                 result.put(bean.getKey(),bean.getValue());   
  19.             }   
  20.         }   
  21.          return  result;   
  22.     }   
  23.   
  24.      private  List initData() {   
  25.         List list =  new  ArrayList();   
  26.         Select bean =  new  Select();   
  27.         bean.setNation( "1" );   
  28.         bean.setKey( "1" );   
  29.         bean.setValue( "北京" );   
  30.         list.add(bean);   
  31.   
  32.         bean =  new  Select();   
  33.         bean.setNation( "1" );   
  34.         bean.setKey( "2" );   
  35.         bean.setValue( "天津" );   
  36.         list.add(bean);   
  37.   
  38.         bean =  new  Select();   
  39.         bean.setNation( "1" );   
  40.         bean.setKey( "3" );   
  41.         bean.setValue( "山西" );   
  42.         list.add(bean);   
  43.   
  44.         bean =  new  Select();   
  45.         bean.setNation( "2" );   
  46.         bean.setKey( "4" );   
  47.         bean.setValue( "Tokyo" );   
  48.         list.add(bean);   
  49.   
  50.         bean =  new  Select();   
  51.         bean.setNation( "2" );   
  52.         bean.setKey( "5" );   
  53.         bean.setValue( "Kokyo" );   
  54.         list.add(bean);   
  55.   
  56.         bean =  new  Select();   
  57.         bean.setNation( "2" );   
  58.         bean.setKey( "6" );   
  59.         bean.setValue( "Osaka" );   
  60.         list.add(bean);   
  61.   
  62.         bean =  new  Select();   
  63.         bean.setNation( "3" );   
  64.         bean.setKey( "7" );   
  65.         bean.setValue( "California" );   
  66.         list.add(bean);   
  67.   
  68.         bean =  new  Select();   
  69.         bean.setNation( "3" );   
  70.         bean.setKey( "8" );   
  71.         bean.setValue( "Tennessee" );   
  72.         list.add(bean);   
  73.          return  list;   
  74.     }   
  75.   
  76. }   

 

js 代码
  1.  <script language=< span="">"javaScript"  src= "<%=request.getContextPath()%>/dwr/interface/LinkageSelectAction.js" ></script>   
  2.   <script type='text javascript' src="/dwr/engine.js"></script>   
  3.   <script type='text javascript' src="/dwr/util.js"></script>   
  4.   
  5. <script>   
  6.    var  key =  function (unit) {  return  unit.key };   
  7.    var  value =  function (unit) {  return  unit.value };   
  8.    var  nation =  function (unit) {  return  unit.nation };   
  9.      
  10.   function  linkage() {   
  11.      var  nation = document.getElementById( "nation" ).value;   
  12.     LinkageSelectAction.findProvinces(nation,loadProvince);   
  13.   }   
  14.      
  15.   function  loadProvince(provinceItems)   
  16.  {   
  17.  DWRUtil.removeAllOptions( "province" );   
  18.  DWRUtil.addOptions( "province" , provinceItems);   
  19.  }   
  20.     
  21.     
  22. </script>  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值