jquery.regionselect.js 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. /**
  2. *省市区下拉框
  3. */
  4. // url:'',actionurl:"jeecgAdvanceCmptController.do?regionSelect",
  5. (function($) {
  6. $.fn.regionselect = function(argoptions) {
  7. var argdefault={
  8. pid:"1",
  9. proname:'province',
  10. cityname:'city',
  11. areaname:'area',
  12. proid:'province',
  13. cityid:'city',
  14. areaid:'area',
  15. proval:'',
  16. cityval:'',
  17. areaval:'',
  18. level:3
  19. };
  20. var ajaxmethod=function(url,pid,selectionclass){
  21. param={pid:pid};
  22. $.get(url,param,function(data){
  23. var jsonData=JSON.parse(data);
  24. $.each(jsonData,function(i,value){
  25. if($('#'+selectionclass).val()==value['name']){
  26. $("."+selectionclass).append("<option selected='selected' idq='"+value['id']+"' value='"+value['name']+"'>"+value['name']+"</option>");
  27. $("."+selectionclass).trigger('change');
  28. }else{
  29. $("."+selectionclass).append("<option idq='"+value['id']+"' value='"+value['name']+"'>"+value['name']+"</option>");
  30. }
  31. });
  32. });
  33. };
  34. var options = $.fn.extend({},argdefault,argoptions);
  35. //options.url=options.basepath+options.actionurl;
  36. return this.each(function() {
  37. var oo = $(this);
  38. //var a=oo.offset();
  39. var oowidth=oo.css("width");
  40. //console.info(oowidth);
  41. oo.after("<select class='form-control "+options.proid+"' name='"+options.proname+"' style='display:inline-block;width:"+oowidth+"'><option value='' idq=''>--全国--</option></select>");
  42. oo.css("display","none");
  43. var cityobj=$("#"+options.cityid);
  44. var citywidth=cityobj.css("width");
  45. cityobj.after("<select class='form-control "+options.cityid+"' name='"+options.cityname+"' style='display:inline-block;width:"+citywidth+"'></select>");
  46. cityobj.css("display","none");
  47. var areaobj=$("#"+options.areaid);
  48. var areawidth=areaobj.css("width");
  49. areaobj.after("<select class='form-control "+options.areaid+"' name='"+options.areaname+"' style='display:inline-block;width:"+areawidth+"'></select>");
  50. areaobj.css("display","none");
  51. ajaxmethod(options['url'],options['pid'],options['proid']);
  52. $("."+options.proid).bind("change",function(){
  53. var provselected=$("."+options.proid+" option:selected").attr("idq");
  54. if($("."+options.cityid).length>0){
  55. $("."+options.cityid).empty();
  56. $("."+options.cityid).append("<option value=''>-- --</option>");
  57. ajaxmethod(options['url'],provselected,options['cityid']);
  58. }
  59. if($("."+options.areaid).length>0){
  60. $("."+options.areaid).empty();
  61. }
  62. });
  63. $("."+options.cityid).bind("change",function(){
  64. var cityselected=$("."+options.cityid+" option:selected").attr("idq");
  65. if($("."+options.areaid).length>0){
  66. $("."+options.areaid).empty();
  67. $("."+options.areaid).append("<option value=''>-- --</option>");
  68. ajaxmethod(options['url'],cityselected,options['areaid']);
  69. }
  70. });
  71. });
  72. };
  73. })(jQuery);