jquery插件实现无限级级联下拉框
???????项目中经常用到级联下拉框,虽然是一个简单的功能,但每用到一次写一次,用到一次写一次,也烦,找原来写的也烦,这次重新写一个放到iteye(第一次用这新名)这里,以后用到的时候随时可以找到,也顺便和大家分享一下,很简单的一段代码:
??????
<html><head><title></title><script type="text/javascript" src="http://ajax.microsoft.com/ajax/jQuery/jquery-1.4.2.min.js"></script><script language="javascript" type="text/javascript">(function($){ $.fn.extend({ loadSelect:function(opt){ var defaultOpt={ url:"select.json", pid:"" }; var opts = $.extend(defaultOpt,opt); var $this=$(this); $.getJSON(opts.url,function(json){ var html='<select onchange="javascript:$(this).selectSelect()"><option value="0">请选择</option>'; $.each(json,function(i,n){ html+= '<option value="'+n.id+'">'+n.text+"</option>\n"; }); html += "</select>\n"; $this.append(html); }); }, selectSelect:function(opt){ var defaultOpt={ url:"select_data.json", pid:"" }; var opts = $.extend(defaultOpt,opt); var $this=$(this); $this.nextAll().remove(); $.getJSON(opts.url,function(json){ var html='<select onchange="javascript:$(this).selectSelect(this)"><option value="0">请选择</option>'; $.each(json,function(i,n){ html+= '<option value="'+n.id+'">'+n.text+"</option>\n"; }); html += "</select>\n"; $this.after(html); }); } });})(jQuery);$(function(){$("#cascade").loadSelect({url:"select_data.json"});});</script></head><body><div id="cascade"></div></body></html>
??? ?当然,这段代码功能还有很多改进的地方,比如下拉框的个数初始化,以及联动的初始化等等。有兴趣的朋友或者已经有实现了的朋友也请分享下。
1 楼 yinghuayu1324117 2011-04-19 下载学习学习 2 楼 lywsh_by 2011-05-09 学习学习 3 楼 wy100304441 2011-05-23 不支持google浏览器,鉴定完毕。