涟漪勇@cnblogs.com

Program,Life,Society.....

利用ProtoType框架完成的一个下拉框(asp:DropDownList)联动的AJAX例子.



最近终于有时间研究研究AJAX了.看了一些AJAX的介绍.
用ProtoType框架完成的一个下拉框(asp:DropDownList)联动的AJAX的小例子,和初学者分享一下.

代码下载

<script language="JavaScript" type="text/javascript" >
<!--

function goCity()
{
        
var url = "AreaHandler.ashx";
        
var father= $F('<%=ddlProvince.ClientID%>')
        
var pars = "ddl=province&father=" +father;
        
var myAjax = new Ajax.Request(
                    url,
                    
{method: 'get', parameters: pars, onComplete: LoadCity}
                    );
          
                
}


function goArea()
{

    
var url = "AreaHandler.ashx";
    
    
var father= $F('<%=ddlCity.ClientID%>')
            
var pars = "ddl=city&father=" +father;
        
var myAjax = new Ajax.Request(
                    url,
                    
{method: 'get', parameters: pars, onComplete: LoadArea}
                    );

}


  
function LoadCity(originalRequest)
    
{
    
var result=originalRequest.responseText;
    
var ddl=$('<%=ddlCity.ClientID%>')
       FillDropDown(ddl,result);
        
if (ddl.length == 0){
        $('
<%=ddlArea.ClientID%>').length=0;
       $('
<%=ddlArea.ClientID%>').disabled = 1;
       ddl.disabled 
= 'true';
             }

       
else{
   $('
<%=ddlArea.ClientID%>').disabled = 0;
       ddl.disabled 
= 0;
       goArea();
    }

    }

  
function LoadArea(originalRequest)
    
{
     
var result=originalRequest.responseText;
     
var ddl=$('<%=ddlArea.ClientID%>')
       FillDropDown(ddl,result);
       
       
if (ddl.length == 0)
         ddl.disabled 
=1;
         esle
         ddl.disabled 
=0
  
       
    }

    
    
   
function FillDropDown(objDDL,result ){
      
var piArray = result.split(",");
           
     objDDL.length
=0;
    
for(var i=0;i<piArray.length;i++)
   
{
   
var ary1 = piArray[i].toString().split("|");
   
if (ary1.length >1 )
    objDDL.options.add(
new Option(ary1[1].toString(),ary1[0].toString()));
  }

    }

  
-->
</script>

posted on 2006-12-18 17:59 涟漪勇 阅读(3119) 评论(7) 编辑 收藏

评论

#1楼 2006-12-19 09:32 路人甲[匿名][未注册用户]

用magicAjax轻松实现。何必那么麻烦啊  回复 引用   

#2楼 2006-12-19 10:04 Go_Rush      

既然是给初学者分享的。那么博主的态度应该要严谨一点吧。

不知道博主在贴代码之前有没有测试过自己的代码


if (ddl.length == 0)
ddl.disabled =1;
esle
ddl.disabled =0;

这样的代码能运行吗?
 回复 引用 查看   

#3楼[楼主] 2006-12-19 10:25 涟漪勇      

@Go_Rush
源代码是可以下载的.如果没有测试过的话我是不会放上去的.

我不知道你说的代码为什么不可以运行.

    
       if (ddl.length == 0)//找到确定的select,求length表示的是它的option的个数
        ddl.disabled =1;//ddl.disabled=1和ddl.disabled=true的效果是一样的.在<<AJAX In Action>>中,作者介绍对这个有说明,你还是自己去看看吧.
        esle
        ddl.disabled =0;

 回复 引用 查看   

#4楼 2006-12-19 12:53 Go_Rush      

我只是想告诉你 else 拼写错误 你写成了 esle
如果代码真的有测试过的话,你的浏览器会告诉你那个错误的.
 回复 引用 查看   

#5楼[楼主] 2006-12-19 14:27 涟漪勇      

@Go_Rush
多谢指出错误,我才看到这个错误.


 回复 引用 查看   

#6楼 2006-12-27 17:36 花心小刺猬      

Ajax.Net 是个不错的东东,可以试试。  回复 引用 查看   

#7楼 2008-11-14 10:34 啊[未注册用户]

如何在后台提值啊?  回复 引用