解析Jquery Json Php代码相关使用问题
创始人
2024-06-19 09:00:35
0

下面文章总结一下Jquery Json Php代码非常好用,只要返回json数据就可以了,如果对json数据不太了解请先百度或者google一下 。下面是一个我的工作实例;希望大家能够学习参考。

jQuery扩展ajaxName,用于ajax提交方法的页面数据获取,根据页面元素的name生成相应的js对象,然后可以把这个对象传给Jquery Json Php代码库进行编码向后台提交,支持数组,支持.表达式,#t#

下面就对Jquery Json Php代码介绍:

  1. /*    
  2.  * jQuery Ajax By Name Plugin    
  3.  *    
  4.  * licensed under the MIT licenses:    
  5.  *   http://www.opensource.org/licenses/mit-license.php    
  6.  *    
  7.  * Author achun (achun.shx at gmail.com)    
  8.  * Create Date: 2008-6-21    
  9.  * Last Date: 2008-6-21    
  10.  * Revision:2.8.6.21    
  11.  */    
  12. (function($) {     
  13. /**    
  14.  * 获取鼠标点击的元素坐标    
  15.  */      
  16. $.fn.clickPos = function(e){     
  17.   var pos ={x:0,y:0};     
  18.   if (e.offsetX != undefined) {     
  19.     pos.x = e.offsetX;     
  20.     pos.y = e.offsetY;     
  21.   } else if (typeof $.fn.offset == 'function') {     
  22.     var offset = this.offset();     
  23.     pos.x = e.pageX - offset.left;     
  24.     pos.y = e.pageY - offset.top;     
  25.   } else {     
  26.     pos.x = e.pageX - this[0].offsetLeft;     
  27.     pos.y = e.pageY - this[0].offsetTop;     
  28.   }      
  29.   return pos;     
  30. }     
  31. /**    
  32.  * ajaxName() 根据标签name属性来提交数据,替代form提交方式    
  33.  * options:{//与ajax的options是一样的结构    
  34.  *  data:{}//要附加提交的数据    
  35.  * }    
  36.  * successful:如果元素有有效值,defualt:true    
  37.  */    
  38. $.fn.ajaxName = function(options,successful) {     
  39.     if(options==undefined) options={};     
  40.     optionsoptions.data = options.data || {};     
  41.   successfulsuccessful = successful == undefined ? true:successful;     
  42.     var data = {};     
  43.     var nameoptions.name || '';     
  44.     this.each(function() {     
  45.     var el=this,o=$(this),n = o.attr('name'),hasval = o.attr('value')!=undefined;     
  46.     if (!n) return;     
  47.     var t = el.type, tag = el.tagName.toLowerCase();     
  48.         if (n=='/'){     
  49.             if (name=='') name = hasval?o.attr('value'):o.text();     
  50.             return;     
  51.         }     
  52.     if (successful && (el.disabled || t == 'reset' || t == 'button' ||     
  53.           (t == 'checkbox' || t == 'radio') && !el.checked ||     
  54.           (t == 'submit' || t == 'image') ||     
  55.           tag == 'select' && el.selectedIndex == -1))     
  56.       return;     
  57.     var vhasval? o.attr('value') :o.hasClass('ValueByText')?o.text():o.html();     
  58.     if (v == undefined) return;     
  59.     if (n.indexOf('.')>0){     
  60.         nn=n.split('.');     
  61.         var len=n.length - 1;     
  62.         var b=data;     
  63.       $.each(n,function(i){     
  64.             if (i!=len){     
  65.                 if(b[this] == undefined) b[this]={};     
  66.             bb=b[this];     
  67.             }else    
  68.             b[this]=v;     
  69.         });     
  70.     }else if (n.indexOf('[]')>0){     
  71.         nn=n.slice(0,n.length-2);     
  72.         if(data[n] == undefined) data[n]=[];     
  73.         data[n].push(v);     
  74.         }else{     
  75.             data[n]=v;     
  76.         }     
  77.   });     
  78.   var dat={};     
  79.   if (name){     
  80.     dat[name]=data;     
  81.       datdata=dat[name];     
  82.   }else    
  83.     dat=data;     
  84.   for (var o in options.data){     
  85.     data[o]=options.data[o];     
  86.   };     
  87.   options.data=dat;     
  88.   return options.data;     
  89. };     
  90. })(jQuery);    
  91.  
  92. /*  
  93.  * jQuery Ajax By Name Plugin  
  94.  *  
  95.  * licensed under the MIT licenses:  
  96.  *   http://www.opensource.org/licenses/mit-license.php  
  97.  *  
  98.  * Author achun (achun.shx at gmail.com)  
  99.  * Create Date: 2008-6-21  
  100.  * Last Date: 2008-6-21  
  101.  * Revision:2.8.6.21  
  102.  */  
  103. (function($) {  
  104. /**  
  105.  * 获取鼠标点击的元素坐标  
  106.  */   
  107. $.fn.clickPos = function(e){  
  108.   var pos ={x:0,y:0};  
  109.   if (e.offsetX != undefined) {  
  110.     pos.x = e.offsetX;  
  111.     pos.y = e.offsetY;  
  112.   } else if (typeof $.fn.offset == 'function') {  
  113.     var offset = this.offset();  
  114.     pos.x = e.pageX - offset.left;  
  115.     pos.y = e.pageY - offset.top;  
  116.   } else {  
  117.     pos.x = e.pageX - this[0].offsetLeft;  
  118.     pos.y = e.pageY - this[0].offsetTop;  
  119.   }   
  120.   return pos;  
  121. }  
  122. /**  
  123.  * ajaxName() 根据标签name属性来提交数据,替代form提交方式  
  124.  * options:{//与ajax的options是一样的结构  
  125.  *  data:{}//要附加提交的数据  
  126.  * }  
  127.  * successful:如果元素有有效值,defualt:true  
  128.  */  
  129. $.fn.ajaxName = function(options,successful) {  
  130.     if(options==undefined) options={};  
  131.     optionsoptions.data = options.data || {};  
  132.   successfulsuccessful = successful == undefined ? true:successful;  
  133.     var data = {};  
  134.     var nameoptions.name || '';  
  135.     this.each(function() {  
  136.     var el=this,o=$(this),n = o.attr('name'),hasval = o.attr('value')!=undefined;  
  137.     if (!n) return;  
  138.     var t = el.type, tag = el.tagName.toLowerCase();  
  139.         if (n=='/'){  
  140.             if (name=='') name = hasval?o.attr('value'):o.text();  
  141.             return;  
  142.         }  
  143.     if (successful && (el.disabled || t == 'reset' || t == 'button' ||  
  144.           (t == 'checkbox' || t == 'radio') && !el.checked ||  
  145.           (t == 'submit' || t == 'image') ||  
  146.           tag == 'select' && el.selectedIndex == -1))  
  147.       return;  
  148.     var vhasval? o.attr('value') :o.hasClass('ValueByText')?o.text():o.html();  
  149.     if (v == undefined) return;  
  150.     if (n.indexOf('.')>0){  
  151.         nn=n.split('.');  
  152.         var len=n.length - 1;  
  153.         var b=data;  
  154.       $.each(n,function(i){  
  155.             if (i!=len){  
  156.                 if(b[this] == undefined) b[this]={};  
  157.             bb=b[this];  
  158.             }else  
  159.             b[this]=v;  
  160.         });  
  161.     }else if (n.indexOf('[]')>0){  
  162.         nn=n.slice(0,n.length-2);  
  163.         if(data[n] == undefined) data[n]=[];  
  164.         data[n].push(v);  
  165.         }else{  
  166.             data[n]=v;  
  167.         }  
  168.   });  
  169.   var dat={};  
  170.   if (name){  
  171.     dat[name]=data;  
  172.       datdata=dat[name];  
  173.   }else  
  174.     dat=data;  
  175.   for (var o in options.data){  
  176.     data[o]=options.data[o];  
  177.   };  
  178.   options.data=dat;  
  179.   return options.data;  
  180. };  
  181. })(jQuery); 

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
着眼MAC地址,解救无法享受D... 在安装了DHCP服务器的局域网环境中,每一台工作站在上网之前,都要先从DHCP服务器那里享受到地址动...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...