我遇到这样一个问题,我的下拉框的数据要取当前数据,不能刷新整个页面,只要实现点击下拉框数据就更新了,但不知道怎么实现,有这方面的例子吗?设计到局部更新。

解决方案 »

  1.   

    局部更新用ajax可以实现。
    ajax教程
    http://book.csdn.net/bookfiles/11/
      

  2.   

    用dwr或者ajax都可以做到局部更新
      

  3.   

    DWR OR AJAX 
      可以很好的解决你的问题
      

  4.   


    请问楼上的为什么要是or呢dwr是实现 ajax的框架在实现下拉菜单功能中确实很方便DWRUtil.setOptions(id,array);
    DWRUtil.setValue(id,value)去试试吧
      

  5.   

    ajax呵呵
    用DWR确实会方便一些,去网站上面找个例子看看就可以了的.
      

  6.   

    DWR OR AJAX 当然,还有更笨的办法,
      

  7.   

    石头一块  大家多指教!1 <select name='XXX' onchange="GETXXX()"> 列表触发JS函数2 <script>
       function GETXXX(){
    var value = document.all.xxx.value;//JS里面取页面上的数据
    var url = "aaa.do?feeCategory="+value;
    if (window.XMLHttpRequest) { 
         req = new XMLHttpRequest(); 
    }else if (window.ActiveXObject) { 
             req = new ActiveXObject("Microsoft.XMLHTTP"); 

    if(req){ 
            req.open("GET",url, true); 
    req.onreadystatechange = huidiao; 
    req.send(null); 
    }
    }function huidiao()
    {
    var selValue = "";
    if (req.readyState == 4) {
    if (req.status == 200) {
    var xSel=req.responseXML.getElementsByTagName('select');
    var select_root=document.all.xxx;
        select_root.options.length=0;
        
        //解析 生成对应的下拉列表
        for(var i=0;i<xSel.length;i++)
        {
            var xValue=xSel[i].childNodes[0].firstChild.nodeValue;
            var xText=xSel[i].childNodes[1].firstChild.nodeValue;
            if(xValue=="-1")xValue="";
            if(xValue != "" && selValue == "")selValue = xValue;
            var option=new Option(xText,xValue);
            try{
                select_root.add(option);
            }catch(e){
            }
        }
        select_root.value = selValue;
    }
    }
    }   </script>对应的程序中以这中格式返回生成数据StringBuffer sb = new StringBuffer();       sb.append("<?xml version=\"1.0\" encoding=\"GBK\"?>");
    sb.append("<selects>");
    if(optional.equals("")){
            sb.append("<select><value>-1</value><text>请选择</text></select>");
    }
    for( int i=0; i<lst.size(); i++ ){
    fc = (DTO)lst.get(i);
    sb.append("<select>");
         sb.append("<value>"+fc.getCode()+"</value>");
    sb.append("<text>"+fc.getName()+"</text>");
    sb.append("</select>");
    }
    sb.append("</selects>"); 简单的思路 不完整的代码  希望可以参考   AJAX实现!