<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    小菜毛毛技術(shù)分享

    與大家共同成長(zhǎng)

      BlogJava :: 首頁(yè) :: 聯(lián)系 :: 聚合  :: 管理
      164 Posts :: 141 Stories :: 94 Comments :: 0 Trackbacks

    假設(shè)您要從資料庫(kù)中查詢(xún)出一些字串,然後填寫(xiě)到表單的下拉選單中。

    例如一個(gè)示意的Java程式如下:
    12345678 package onlyfun.caterpillar; public class Option {  public String[] getOptions() {                // 實(shí)際上這些字串是從資料庫(kù)中查到的啦…    return new String[] {"良葛格", "毛美眉", "米小狗"};   }} 


    傳回的字串陣列,您要填寫(xiě)到下拉選單中,當(dāng)然,首先我們要在dwr.xml中開(kāi)發(fā)這個(gè)物件…
    12345678910 <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN" "http://www.getahead.ltd.uk/dwr/dwr10.dtd"> <dwr>  <allow>    <create creator="new" javascript="OPT">        <param name="class" value="onlyfun.caterpillar.Option"/>    </create>    </allow></dwr>


    這是我們的網(wǎng)頁(yè)…
    123456789101112131415 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html; charset=BIG5"><script src="option.js" type="text/javascript"></script><script src="dwr/interface/OPT.js" type="text/javascript"></script><script src="dwr/engine.js" type="text/javascript"></script><script src="dwr/util.js" type="text/javascript"></script> </head> <body>    選項(xiàng): <select id="opts"></select></body></html>


    傳回的字串陣列會(huì)填入opts這個(gè)select中,我們的option.js如下…
    12345678 window.onload = function() {    OPT.getOptions(populate);  }; function populate(list){    DWRUtil.removeAllOptions("opts");    DWRUtil.addOptions("opts", list);} 


    夠簡(jiǎn)單了…不需要解釋了…

    看一下結(jié)果… 


    好啦!我知道有人在說(shuō)了,這個(gè)程式有夠無(wú)聊…

    改一下!就是個(gè)不錯(cuò)的範(fàn)例了,例如連動(dòng)方塊,唔!在Ajax in action中叫啥?Dynamic double combo?…

    假設(shè)一個(gè)會(huì)去從資料庫(kù)中查詢(xún)資料的Java程式示意如下:
    123456789101112131415161718192021222324252627282930 package onlyfun.caterpillar; import java.util.Map;import java.util.TreeMap; public class Bike {  private Map<String, String[]> bikes;    public Bike() {    bikes = new TreeMap<String, String[]>();    bikes.put("2000", new String[] {"2000 T1", "2000 T2", "2000 T3"});    bikes.put("2001", new String[] {"2001 A1", "2001 A2"});    bikes.put("2002", new String[] {"2002 BW1", "2002 BW2", "2002 BW"});    bikes.put("2003", new String[] {"2003 S320"});    bikes.put("2004", new String[] {"2004 TA1", "2004 TA2", "2004 TA3"});  }    public String[] getYears() {    String[] keys = new String[bikes.size()];    int i = 0;    for(String key : bikes.keySet()) {      keys[i++] = key;    }    return keys;   }    public String[] getBikes(String year) {    return bikes.get(year);  }} 


    getYears()跟getBkies()分別表示產(chǎn)品的年份跟型號(hào),這邊用Map模擬,實(shí)際上資料是來(lái)自資料庫(kù)的查詢(xún)。

    一樣的,在dwr.xml中設(shè)定:
    12345678910 <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN" "http://www.getahead.ltd.uk/dwr/dwr10.dtd"> <dwr>  <allow>    <create creator="new" javascript="Bike" scope="application">        <param name="class" value="onlyfun.caterpillar.Bike"/>    </create>  </allow></dwr>


    我們會(huì)有個(gè)腳踏車(chē)年份與型號(hào)查詢(xún)頁(yè)面:
    123456789101112131415 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html; charset=BIG5"><title>Insert title here</title>  <script type='text/javascript' src='dwr/interface/Bike.js'></script>  <script type='text/javascript' src='dwr/engine.js'></script>  <script type='text/javascript' src='dwr/util.js'></script>  <script type='text/javascript' src='bike.js'></script></head><body onload="refreshYearList();">  年份:<select id="years" onchange="refreshBikeList();"></select><br/><br/>  型號(hào):<select id="bikes"></select><br/></body></html>


    注意,在選完第一個(gè)年份後,會(huì)觸發(fā)onchange事件,接著第二個(gè)下拉選單會(huì)自動(dòng)填上對(duì)應(yīng)年份的型號(hào),而不是按鈕按下,再去取得第二個(gè)下拉選單,然後refresh...blah...blah...

    bike.js如下…
    12345678910111213141516171819 function refreshYearList() {    Bike.getYears(populateYearList);} function populateYearList(list){    DWRUtil.removeAllOptions("years");    DWRUtil.addOptions("years", list);    refreshBikeList();} function refreshBikeList() {    var year = $("years").value;    Bike.getBikes(year, populateBikeList);} function populateBikeList(list){    DWRUtil.removeAllOptions("bikes");    DWRUtil.addOptions("bikes", list);} 


    一樣很簡(jiǎn)單…

    看個(gè)無(wú)聊的畫(huà)面…XD

     

    本文來(lái)自CSDN博客,轉(zhuǎn)載請(qǐng)標(biāo)明出處:http://blog.csdn.net/caterpillar_here/archive/2006/09/18/1239538.aspx

    posted on 2009-06-02 13:54 小菜毛毛 閱讀(1069) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): AJAX
    主站蜘蛛池模板: 鲁大师在线影院免费观看 | 亚洲av无码av制服另类专区| 亚洲国产欧美日韩精品一区二区三区| 亚洲免费在线视频播放| 亚洲视频一区在线播放| 人妻无码一区二区三区免费| 亚洲AV日韩AV天堂久久| 一级毛片不卡片免费观看| 久久久久亚洲精品日久生情 | 亚洲免费一区二区| 久久亚洲AV无码西西人体| 成人毛片100免费观看| 亚洲AV无码专区国产乱码电影| 在线看片免费人成视频播| 噜噜噜亚洲色成人网站∨| 99久久久国产精品免费无卡顿| 亚洲专区中文字幕| 黄网址在线永久免费观看 | 国产AV无码专区亚洲AV琪琪| 亚洲国产专区一区| 免费av片在线观看网站| 亚洲精品无码久久久久久久| 毛片在线看免费版| 亚州**色毛片免费观看| 亚洲AV日韩AV天堂一区二区三区| 亚洲人成免费电影| 亚洲国产成人精品无码区二本| 亚洲精品高清一二区久久| 免费毛片在线看不用播放器| 亚洲国产成人在线视频| 国产又大又黑又粗免费视频| 羞羞视频免费网站在线看| 亚洲欧洲日本国产| 国产又粗又长又硬免费视频 | 久久久久免费视频| 91亚洲自偷在线观看国产馆| 日韩免费视频播播| 久久福利青草精品资源站免费 | 亚洲午夜AV无码专区在线播放| 日韩精品无码免费一区二区三区| 天堂亚洲国产中文在线|