ITPub博客

首页 > Linux操作系统 > Linux操作系统 > ASP.NET Ajax之Page Methods

ASP.NET Ajax之Page Methods

原创 Linux操作系统 作者:iDotNetSpace 时间:2010-02-05 13:17:26 0 删除 编辑
代码
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ -->    <script language="javascript" type="text/javascript">
        
function getCountries() {
//GetCountries是后台方法名字,大小写不要错了。如果有参数,就把参数依次写在回调函数的前面;若没有则可不管
            PageMethods.GetCountries(loadCountries);}
//result是页面后台方法返回的字符串,后面2个参数暂时未用到
        function loadCountries(result, userContext, methodName) {
            
var ddl1 = document.getElementById("ddl1");
            
var ary = result.toString().split(",");
            
for (var i = 0; i < ary.length; i++) {
                
var item = ary[i].split(":");
                
var opt = new Option(item[0], item[1], false, false);
                ddl1.options[ddl1.options.length] 
= opt;}}
//根据国家选择城市
            function getCities(obj) {
                
if (obj.selectedIndex != 0) {
                    
var cid = obj.options[obj.selectedIndex].value;
                    PageMethods.GetCities(cid, loadCities);}
                
else {
                    
var ddl2 = document.getElementById("ddl2");
                    ddl2.options.length 
= 0;
                    
var opt = new Option("--Choose Your City--", "", false, false);
                    ddl2.options[ddl2.options.length] 
= opt;}}
        
function loadCities(result, userContext, methodName) {
            
var ddl2 = document.getElementById("ddl2");
            ddl2.options.length 
= 0;
            
var json = eval("(" + result + ")");
            
for (var i = 0; i < json.length; i++) {
                
var opt = new Option(json[i].city, json[i].no, false, false);
                ddl2.options[ddl2.options.length] 
= opt;}}
    
</script>

 

这样的话实现一个三级联动也很简单,不过就是不知道效率如何。

/Files/1000/jscallserver.rar

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/12639172/viewspace-626892/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-01-04

  • 博文量
    2376
  • 访问量
    5766209