PhoneGap中文网

 找回密码
 立即注册
查看: 21293|回复: 5
打印 上一主题 下一主题

新人求教 jsonp的一点问题

[复制链接]

1

主题

3

帖子

11

积分

新手上路

Rank: 1

积分
11
跳转到指定楼层
楼主
发表于 2014-8-25 11:54:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
看了论坛里面关于jsonp 的东西后试着做了一个 但是有些问题
  1. $(function () {
  2. $.ajax({
  3.              type: "get",
  4.              async: false,
  5.              url: "http://202.196.107.98/wpphp/index.php/admin/index/phone",
  6.              dataType: "jsonp",
  7.              jsonp: "callback",//传递给请求处理程序或页面的,用以获得jsonp回调函数名的参数名(一般默认为:callback)
  8.              jsonpCallback:"phone",//自定义的jsonp回调函数名称,默认为jQuery自动生成的随机函数名,也可以写"?",jQuery会自动为你处理数据
  9.               
  10.              success: function(json){
  11.                                  fourSelectData =json['result'];

  12.              },
  13.              error: function(){
  14.                  alert('fail');
  15.              }
  16. });

  17. });
复制代码
利用这个可以从数据库取到数据 并且付给了变量fourSelectData 但是我想在这个function下面的代码中使用这个变量fourSelectData
  1. //var fourSelectData = {"金明校区王":{val:"01",items:{"七号教学楼":{val:"0101",items:{"第一层":{val:"010101",items:{"7101":"01010101","7102":"01010102","7103":"01010103",}},"第二层":{val:"010102",items:{}},"第三层":{val:"010103",items:{}},"第四层":{val:"010104",items:{}},"第五层":{val:"010105",items:{}},}},"六号教学楼":{val:"0102",items:{"第三层":{val:"010201",items:{}},}},}},"明伦校区":{val:"02",items:{"10号教学楼":{val:"0201",items:{"1":{val:"020101",items:{}},"2":{val:"020102",items:{}},"3":{val:"020103",items:{}},"4":{val:"020104",items:{}},"5":{val:"020105",items:{}},}},"综合教学楼":{val:"0202",items:{"1":{val:"020201",items:{}},"2":{val:"020202",items:{}},"3":{val:"020203",items:{}},"4":{val:"020204",items:{}},"5":{val:"020205",items:{}},}},}},};
  2. var defaults = {
  3.         s1:'Select1',
  4.         s2:'Select2',
  5.         s3:'Select3',
  6.         s4:'Select4',
  7.         v1:"02",
  8.         v2:"0202",
  9.         v3:"020202",
  10.         v4:"02020202"
  11. };

  12. $(function(){
  13.         fourSelect(defaults);
  14. });

  15. function fourSelect(config){
  16.         var $s1=$("#"+config.s1);
  17.         var $s2=$("#"+config.s2);
  18.         var $s3=$("#"+config.s3);
  19.         var $s4=$("#"+config.s4);
  20.         var v1=config.v1?config.v1:null;
  21.         var v2=config.v2?config.v2:null;
  22.         var v3=config.v3?config.v3:null;
  23.         var v4=config.v4?config.v4:null;
  24.         $.each(fourSelectData,function(k,v){
  25.                 appendOptionTo($s1,k,v.val,v1);
  26.         });
  27.         $s1.change(function(){
  28.                 $s2.html("");
  29.                 if(this.selectedIndex==-1) return;
  30.                 var s1_curr_val = this.options[this.selectedIndex].value;
  31.                 $.each(fourSelectData,function(k,v){
  32.                         if(s1_curr_val==v.val){
  33.                                 if(v.items){
  34.                                         $.each(v.items,function(k,v){
  35.                                                 appendOptionTo($s2,k,v.val,v2);
  36.                                         });
  37.                                 }
  38.                         }
  39.                 });
  40.                 if($s2[0].options.length==0){appendOptionTo($s2,"...","",v2);}
  41.                 $s2.change();
  42.         }).change();
  43.         $s2.change(function(){
  44.                 $s3.html("");
  45.                 if(this.selectedIndex==-1) return;
  46.                 var s1_curr_val = $s1[0].options[$s1[0].selectedIndex].value;
  47.                 var s2_curr_val = this.options[this.selectedIndex].value;
  48.                 $.each(fourSelectData,function(k,v){
  49.                         if(s1_curr_val==v.val){
  50.                                 if(v.items){
  51.                                         $.each(v.items,function(k,v){
  52.                                                 if(s2_curr_val==v.val){
  53.                                                         if(v.items){
  54.                                                                 $.each(v.items,function(k,v){
  55.                                                                         appendOptionTo($s3,k,v.val,v3);
  56.                                                                 });
  57.                                                         }
  58.                                                 }
  59.                                         });
  60.                                 }
  61.                         }
  62.                 });
  63.                 if($s3[0].options.length==0){appendOptionTo($s3,"...","",v3);}
  64.                 $s3.change();
  65.         }).change();
  66.         $s3.change(function(){
  67.                 $s4.html("");
  68.                 if(this.selectedIndex==-1) return;
  69.                 var s1_curr_val = $s1[0].options[$s1[0].selectedIndex].value;
  70.                 var s2_curr_val = $s2[0].options[$s2[0].selectedIndex].value;
  71.                 var s3_curr_val = this.options[this.selectedIndex].value;       
  72.                 $.each(fourSelectData,function(k,v){
  73.                         if(s1_curr_val==v.val){
  74.                                 if(v.items){
  75.                                         $.each(v.items,function(k,v){
  76.                                                 if(s2_curr_val==v.val){
  77.                                                         if(v.items){
  78.                                                                 $.each(v.items,function(k,v){
  79.                                                                         if(s3_curr_val==v.val){
  80.                                                                                 if(v.items){
  81.                                                                                         $.each(v.items,function(k,v){
  82.                                                                                                 appendOptionTo($s4,k,v,v4);
  83.                                                                                         });
  84.                                                                                 }
  85.                                                                         }
  86.                                                                 });
  87.                                                         }
  88.                                                 }
  89.                                         });
  90.                                 }
  91.                         }
  92.                 });
  93.                 if($s4[0].options.length==0){appendOptionTo($s4,"...","",v4);}
  94.         }).change();

  95.         function appendOptionTo($o,k,v,d){
  96.                 var $opt=$("<option>").text(k).val(v);
  97.                 if(v==d){ $opt.attr("selected", "selected")}
  98.                 $opt.appendTo($o);
  99.         }
  100. }
复制代码
但是在下面无法获取到变量
fourSelectData 因此想问下 利用jsonp取到数据后 我知道怎么让HTML去使用 那怎么让js 使用呢
附件里是我写的源代码 将//var fourSelectData =这个注释取消注释后就能看到想要的四级联动效果 因此想要实现的就是 jsonp取到值赋给fourSelectData



ceshi.rar

20.51 KB, 下载次数: 10

it营
回复

使用道具 举报

493

主题

2035

帖子

6894

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
6894
沙发
发表于 2014-8-29 08:57:37 | 只看该作者
看看第一季第十讲
it营
回复 支持 反对

使用道具 举报

0

主题

12

帖子

62

积分

注册会员

Rank: 2

积分
62
板凳
发表于 2015-4-30 21:43:08 | 只看该作者
很不错,不错,学习学习。跨平台得顶起
回复 支持 反对

使用道具 举报

0

主题

19

帖子

57

积分

注册会员

Rank: 2

积分
57
地板
发表于 2015-4-30 12:50:39 | 只看该作者
人不错,学习学习 感觉phonegap+html越来越火了。
回复 支持 反对

使用道具 举报

0

主题

14

帖子

51

积分

注册会员

Rank: 2

积分
51
5#
发表于 2015-4-30 17:25:05 | 只看该作者
非常好 感谢 开始学习html5 app开发了
回复 支持 反对

使用道具 举报

0

主题

12

帖子

62

积分

注册会员

Rank: 2

积分
62
6#
发表于 2015-4-30 18:44:04 | 只看该作者
未来属于html5 phonegap 微信 wap全部搞定
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

ionic4视频教程

Archiver|手机版|小黑屋| PhoneGap中文网 ( 京ICP备13027796号-1 )  

GMT+8, 2024-4-20 15:41 , Processed in 0.047208 second(s), 35 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表