area-dialog-1.0.0.js 2.14 KB
!function(){var e=function(i,s,n,d){this.init(i,s,n,d)};e.pos=null,e.title="",e.content="",e.dialog=null,e.areas=[],e.prototype={init:function(i,s,n,d){e.pos=i,e.title=s,e.content=n;for(k in d.group){var a=d.group[k].areas;for(j in a)e.areas[a[j].code]=a[j].title}},show:function(){y=$(this).scrollTop()-300,x=$(e.pos).offset().left-315,e.dialog=$(e.pos).dialog({title:e.title,source:e.content,width:620,extendMainClass:"dialog-areas",type:"html",closeButton:!0,x:x,y:y}),this.setDefault(),this.unbindClick(),this.bindClick()},close:function(){e.dialog.close()},submit:function(){var a=this,newCheckAreas=[];$(".J_Province:checked").each(function(i,n){newCheckAreas.push($(n).val())});var d=a.changeCode(newCheckAreas);$(e.pos).next(".area-group").html(d.join(",")),$(e.pos).siblings("input").val(newCheckAreas.join(",")),a.close()},bindClick:function(){var a=this;$("body").on("click",".J_Cancel",function(){a.close()}),$("body").on("click",".J_Submit",function(){a.submit()}),$("body").on("click",".J_Group",function(){var o=this,c=$(o).prop("checked"),a=$(o).val().split(",");$.each(a,function(n,v){$("#J_Province_"+v).prop("disabled")||$("#J_Province_"+v).prop("checked",c)})})},unbindClick:function(){$("body").off("click",".J_Cancel"),$("body").off("click",".J_Submit"),$("body").off("click",".J_Group")},changeCode:function(t){var n=[];for(i in t)n.push(e.areas[t[i]]);return n},setDefault:function(){var v=$(e.pos).siblings("input").val();v=v?v.split(","):[],v.length&&$(".J_Province").each(function(i,o){$.inArray($(o).val(),v)!==-1&&$(o).prop("checked",!0)});var d=[],targetName=($(e.pos).parents("tr")[0],$(e.pos).siblings("input").prop("name"));s=$(".J_Checked_Provinces").not("input[name="+targetName+"]"),s&&s.each(function(){var j=$(this).val();j=j?j.split(","):[],j.length&&(d=d.concat(j))}),d.length&&$(".J_Province").each(function(i,o){$.inArray($(o).val(),d)!==-1&&$(o).prop("disabled",!0)}),$(".J_Group").each(function(i,o){var i=$(o).val(),a=$(o).parents(".ecity")[0],b=$(a).siblings(".province-list").find(".J_Province"),c=[];$(b).each(function(){$(this).prop("disabled")&&c.push($(this).val())}),c=c.join(","),c==i&&$(o).prop("disabled",!0)})}},window.AreaDialog=e}();