|
@@ -296,13 +296,13 @@ function listDistrict(cityId,districtName){
|
|
{
|
|
{
|
|
ulcNode: ele.find(".ulcNode"),
|
|
ulcNode: ele.find(".ulcNode"),
|
|
ulcURL: "",
|
|
ulcURL: "",
|
|
- ulcId : ele.find(".ulcId"),
|
|
+ ulcId : ele.find(".ulcId"),
|
|
ulcName: ele.find(".ulcNode").attr("ulcName"),
|
|
ulcName: ele.find(".ulcNode").attr("ulcName"),
|
|
isFristSelect : false,
|
|
isFristSelect : false,
|
|
repData: function(res){
|
|
repData: function(res){
|
|
return {
|
|
return {
|
|
"code": res.returnCode,
|
|
"code": res.returnCode,
|
|
- "msg": res.message,
|
|
+ "msg": res.resultMsg,
|
|
"count": res.total,
|
|
"count": res.total,
|
|
"data": res.returnMsg
|
|
"data": res.returnMsg
|
|
};
|
|
};
|
|
@@ -355,69 +355,199 @@ function listDistrict(cityId,districtName){
|
|
|
|
|
|
initLock : false
|
|
initLock : false
|
|
},
|
|
},
|
|
-
|
|
|
|
-
|
|
|
|
*/
|
|
*/
|
|
|
|
|
|
|
|
|
|
-
|
|
+
|
|
;(function($,window,document,undefined){
|
|
;(function($,window,document,undefined){
|
|
|
|
|
|
var UnlimitedLevelContact = function(ele,opt) {
|
|
var UnlimitedLevelContact = function(ele,opt) {
|
|
this.$element = ele,
|
|
this.$element = ele,
|
|
this.ulcInfo = {
|
|
this.ulcInfo = {
|
|
urlPrefix : "",
|
|
urlPrefix : "",
|
|
- ulcLevel : []
|
|
+ ulcLevel : [],
|
|
|
|
+ execution:{
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ executionFun : []
|
|
|
|
+ }
|
|
},
|
|
},
|
|
this.options = $.extend({}, this.ulcInfo, opt)
|
|
this.options = $.extend({}, this.ulcInfo, opt)
|
|
}
|
|
}
|
|
|
|
|
|
UnlimitedLevelContact.prototype = {
|
|
UnlimitedLevelContact.prototype = {
|
|
init: function() {
|
|
init: function() {
|
|
|
|
+ this.initUlcLevel();
|
|
if(this.options.ulcLevel.length > 0){
|
|
if(this.options.ulcLevel.length > 0){
|
|
- this.initUlc(0,null);
|
|
+ this.initUlc(0,"",null);
|
|
}
|
|
}
|
|
return this;
|
|
return this;
|
|
},
|
|
},
|
|
- initUlc : function(level,id){
|
|
+ initUlcLevel : function(){
|
|
- var ulc = this;
|
|
+ $(this.options.ulcLevel).each(function (index){
|
|
- var ulcLevel = this.options.ulcLevel[level];
|
|
+
|
|
|
|
+ this.isSelected = 1;
|
|
|
|
|
|
- $.get(ulc.options.urlPrefix + ulcLevel.ulcURL, function(result){
|
|
+
|
|
- var node = ulcLevel;
|
|
+ $(this.ulcNode).attr("ulclevel",index);
|
|
|
|
+ })
|
|
|
|
+ },
|
|
|
|
+ initUlc : function(level,id,thisId){
|
|
|
|
+
|
|
|
|
+ var ulc = this;
|
|
|
|
+ var node = ulc.options.ulcLevel[level];
|
|
|
|
+ $.get(ulc.options.urlPrefix + node.ulcURL + id, function(result){
|
|
|
|
+ $(node.ulcNode).empty();
|
|
|
|
+ if(node.isFristSelect){
|
|
|
|
+ $(node.ulcNode).append("<option value=''>"+ node.fristSelectMsg +"</option>");
|
|
|
|
+ node.isSelected = 2;
|
|
|
|
+ }
|
|
var res = node.repData(result);
|
|
var res = node.repData(result);
|
|
- if (res.code == 200) {
|
|
+ if (res.code == res.isFlag) {
|
|
- node.ulcNode.empty();
|
|
+
|
|
|
|
+ if(res.data.length < 1 && !node.isFristSelect){
|
|
|
|
+ $(node.ulcNode).append("<option value=''></option>");
|
|
|
|
+ node.isSelected = 2;
|
|
|
|
+ }
|
|
$(res.data).each(function (){
|
|
$(res.data).each(function (){
|
|
var data = node.parseData(this);
|
|
var data = node.parseData(this);
|
|
- $provinceNode.append("<option value='"+ data.id +"'>"+ this.val +"</option>");
|
|
+ $(node.ulcNode).append("<option value='"+ data.id +"'>"+ data.val +"</option>");
|
|
})
|
|
})
|
|
- if(isEmpty(address.options.provinceId)){
|
|
+ if(thisId != null){
|
|
- address.options.provinceId = result.returnMsg.provinceList[0].provinceId;
|
|
+
|
|
- }else if(isEmpty(address.options.provinceName)){
|
|
+ $(node.ulcNode).val(thisId);
|
|
- address.options.provinceId = address.getAttrIdByName($provinceNode,address.options.provinceName);
|
|
+ }
|
|
- }else{
|
|
+ if(res.data.length > 0){
|
|
- address.options.provinceId = result.returnMsg.provinceList[0].provinceId;
|
|
+ node.ulcId = node.parseData(res.data[0]).id;
|
|
|
|
+ if(ulc.options.ulcLevel.length-1 > level && node.isSelected == 1){
|
|
|
|
+ $(node.ulcNode).change(function (){
|
|
|
|
+ ulc.initUlc(level+1,$(node.ulcNode).val());
|
|
|
|
+ })
|
|
|
|
+ ulc.initUlc(level+1,node.ulcId);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
- address.setProvince();
|
|
|
|
}else{
|
|
}else{
|
|
- console.log("省份查询失败");
|
|
+ console.log(res.msg);
|
|
}
|
|
}
|
|
});
|
|
});
|
|
},
|
|
},
|
|
-
|
|
+ setUlcById: function(){
|
|
- cufte:function(val) {
|
|
+
|
|
- if (undefined == val || null == val||typeof val == undefined || typeof val == 'undefined'|| 'undefined' == val) {
|
|
+ * 形参 1:level(级别)或者节点
|
|
- val = "";
|
|
+ * 形参 2:id 传入id的值
|
|
|
|
+ */
|
|
|
|
+ var ulc = this,level=-1;
|
|
|
|
+ if (arguments.length == 0) return this;
|
|
|
|
+ if(arguments[0].constructor == Number){
|
|
|
|
+ level = arguments[0];
|
|
|
|
+ }else{
|
|
|
|
+
|
|
|
|
+ level = $("#addressProvince").prop("ulclevel");
|
|
|
|
+
|
|
|
|
+
|
|
}
|
|
}
|
|
- return val;
|
|
+ if(level = -1){
|
|
|
|
+ console.log("setUlcId error!!!");
|
|
|
|
+ return ulc;
|
|
|
|
+ }
|
|
|
|
+ var upperLevelId='';
|
|
|
|
+ if(level != 0){
|
|
|
|
+ upperLevelId = ulc.options.ulcLevel[level-1].ulcId;
|
|
|
|
+ }
|
|
|
|
+ ulc.initUlc(level,upperLevelId,arguments[1]);
|
|
|
|
+ return this;
|
|
|
|
+ },
|
|
|
|
+ execute:function(){
|
|
|
|
+
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
- $.fn.initAddress = function(options) {
|
|
+ $.fn.initUlc = function(options) {
|
|
- var address = new Address(this, options);
|
|
+ var ulc = new UnlimitedLevelContact(this, options);
|
|
- address.init();
|
|
+ ulc.init();
|
|
- return address;
|
|
+ return ulc;
|
|
}
|
|
}
|
|
})(jQuery,window,document);
|
|
})(jQuery,window,document);
|
|
-*/
|
|
+
|
|
|
|
+
|
|
|
|
+function initAddress(addressNode){
|
|
|
|
+ var $provice = $(".address_info").find(".init_province");
|
|
|
|
+ var $city = $(".address_info").find(".init_city");
|
|
|
|
+ var $country = $(".address_info").find(".init_country");
|
|
|
|
+ var ulc = $(".address_info").initUlc({
|
|
|
|
+ urlPrefix: root_path,
|
|
|
|
+ ulcLevel : [
|
|
|
|
+ {
|
|
|
|
+ ulcNode: $provice,
|
|
|
|
+ ulcURL: "/address/list_province",
|
|
|
|
+ ulcId : $provice.attr("ulcId"),
|
|
|
|
+ ulcName: $provice.attr("ulcName"),
|
|
|
|
+ isFristSelect : false,
|
|
|
|
+ fristSelectMsg : "请选择",
|
|
|
|
+ repData: function(res){
|
|
|
|
+ return {
|
|
|
|
+ "isFlag": 200,
|
|
|
|
+ "code": res.returnCode,
|
|
|
|
+ "msg": res.resultMsg,
|
|
|
|
+ "data": res.returnMsg.provinceList
|
|
|
|
+ };
|
|
|
|
+ },
|
|
|
|
+ parseData:function(data){
|
|
|
|
+ return {
|
|
|
|
+ "id": data.provinceId,
|
|
|
|
+ "val": data.province,
|
|
|
|
+ "msg": data.msg,
|
|
|
|
+ };
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ ulcNode: $city,
|
|
|
|
+ ulcURL: "/address/list_city?provinceId=",
|
|
|
|
+ ulcId : $city.attr("ulcId"),
|
|
|
|
+ ulcName: $city.attr("ulcName"),
|
|
|
|
+ isFristSelect : false,
|
|
|
|
+ fristSelectMsg : "请选择",
|
|
|
|
+ repData: function(res){
|
|
|
|
+ return {
|
|
|
|
+ "isFlag": 200,
|
|
|
|
+ "code": res.returnCode,
|
|
|
|
+ "msg": res.resultMsg,
|
|
|
|
+ "data": res.returnMsg.cityList
|
|
|
|
+ };
|
|
|
|
+ },
|
|
|
|
+ parseData:function(data){
|
|
|
|
+ return {
|
|
|
|
+ "id": data.cityId,
|
|
|
|
+ "val": data.city,
|
|
|
|
+ "msg": data.msg,
|
|
|
|
+ };
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ ulcNode: $country,
|
|
|
|
+ ulcURL: "/address/list_district?cityId=",
|
|
|
|
+ ulcId : $country.attr("ulcId"),
|
|
|
|
+ ulcName: $country.attr("ulcName"),
|
|
|
|
+ isFristSelect : false,
|
|
|
|
+ fristSelectMsg : "请选择",
|
|
|
|
+ repData: function(res){
|
|
|
|
+ return {
|
|
|
|
+ "isFlag": 200,
|
|
|
|
+ "code": res.returnCode,
|
|
|
|
+ "msg": res.resultMsg,
|
|
|
|
+ "data": res.returnMsg.districtList
|
|
|
|
+ };
|
|
|
|
+ },
|
|
|
|
+ parseData:function(data){
|
|
|
|
+ return {
|
|
|
|
+ "id": data.districtId,
|
|
|
|
+ "val": data.district,
|
|
|
|
+ "msg": data.msg,
|
|
|
|
+ };
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ ]
|
|
|
|
+ });
|
|
|
|
+ return ulc;
|
|
|
|
+}
|