|
@@ -279,233 +279,6 @@ function listDistrict(cityId,districtName){
|
|
|
return district;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-/**
|
|
|
- * 控制是都有请选择项
|
|
|
- *
|
|
|
- */
|
|
|
-//初期是没有的 //初始化之后使用 用于二次封装
|
|
|
-//二次数据
|
|
|
-/*
|
|
|
- this.ulcInfo = {
|
|
|
- urlPrefix : "",
|
|
|
- ulcLevel : [
|
|
|
- {
|
|
|
- ulcNode: ele.find(".ulcNode"), //节点
|
|
|
- ulcURL: "", //url
|
|
|
- ulcId : ele.find(".ulcId"), //节点option的value
|
|
|
- ulcName: ele.find(".ulcNode").attr("ulcName"),
|
|
|
- isFristSelect : false, //是否有“请选择项”,
|
|
|
- repData: function(res){ //res 即为原始返回的数据
|
|
|
- return {
|
|
|
- "code": res.returnCode, //解析接口状态
|
|
|
- "msg": res.resultMsg, //解析提示文本
|
|
|
- "count": res.total, //解析数据长度
|
|
|
- "data": res.returnMsg //解析数据列表
|
|
|
- };
|
|
|
- },
|
|
|
- parseData:function(data){ //res 即为原始返回的数据
|
|
|
- return {
|
|
|
- "id": data.provinceId, //解析接口状态
|
|
|
- "val": data.province, //解析提示文本
|
|
|
- "other": data.other, //解析数据长度
|
|
|
- };
|
|
|
- }
|
|
|
- }, {
|
|
|
- ulcNode: ele.find(".ulcNode"), //节点
|
|
|
- ulcURL: "", //url
|
|
|
- ulcId : ele.find(".ulcId"), //节点id
|
|
|
- ulcName: ele.find(".ulcNode").attr("ulcName"),
|
|
|
- isFristSelect : false, //是否有“请选择项”,
|
|
|
- repData: function(res){ //res 即为原始返回的数据
|
|
|
- return {
|
|
|
- "code": res.returnCode, //解析接口状态
|
|
|
- "msg": res.message, //解析提示文本
|
|
|
- "count": res.total, //解析数据长度
|
|
|
- "data": res.returnMsg //解析数据列表
|
|
|
- };
|
|
|
- },
|
|
|
- parseData:function(data){ //data为对象
|
|
|
- return {
|
|
|
- "id": data.id, //select的id
|
|
|
- "val": data.val, //select的value
|
|
|
- "msg": data.msg, //select的其他数据,绑定在option上的msg属性上
|
|
|
- };
|
|
|
- }
|
|
|
- }
|
|
|
- ],
|
|
|
- parseData: function(res){ //res 即为原始返回的数据
|
|
|
- return {
|
|
|
- "code": res.status, //解析接口状态
|
|
|
- "msg": res.message, //解析提示文本
|
|
|
- "count": res.total, //解析数据长度
|
|
|
- "data": res.data.item //解析数据列表
|
|
|
- },
|
|
|
- // provinceNode : ele.find(".ulc_1"),
|
|
|
- // cityNode : ele.find(".init_city"),
|
|
|
- // countryNode : ele.find(".init_country"),
|
|
|
- // provinceId :ele.find(".init_province").attr("provinceId"),
|
|
|
- // cityId : ele.find(".init_city").attr("cityId"),
|
|
|
- // countryId : ele.find(".init_country").attr("countryId"),
|
|
|
- // provinceName : ele.find(".init_province").attr("provinceName"),
|
|
|
- // cityName : ele.find(".init_city").attr("cityName"),
|
|
|
- // countryName : ele.find(".init_country").attr("countryName"),
|
|
|
- initLock : false
|
|
|
- },
|
|
|
- */
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-;(function($,window,document,undefined){
|
|
|
- //定义UnlimitedLevelContact的构造函数
|
|
|
- var UnlimitedLevelContact = function(ele,opt) {
|
|
|
- this.$element = ele,
|
|
|
- this.ulcInfo = {
|
|
|
- urlPrefix : "",
|
|
|
- ulcLevel : [],
|
|
|
- judgeNameShield : []
|
|
|
- },
|
|
|
- this.options = $.extend({}, this.ulcInfo, opt) //opt并入ulcInfo集合组成新的集合,然后赋值给 options ,所以一切调用options
|
|
|
- }
|
|
|
- //定义Address的方法
|
|
|
- UnlimitedLevelContact.prototype = {
|
|
|
- init: function() {
|
|
|
- var ulc = this;
|
|
|
- this.initUlcLevel();
|
|
|
- if(this.options.ulcLevel.length > 0){
|
|
|
- this.initUlcHtml(0,"",ulc.options.ulcLevel[0].ulcId);
|
|
|
- }
|
|
|
- return this;
|
|
|
- },
|
|
|
- initUlcLevel : function(){
|
|
|
- $(this.options.ulcLevel).each(function (index){
|
|
|
- //是否选中数据 1:选中 2:未选中 -- 初始化出来,是否需要选中第一个
|
|
|
- this.isSelected = 1;
|
|
|
-
|
|
|
- // this.isSelected attr("ulcId");
|
|
|
-
|
|
|
- /*初始化层次结构*/
|
|
|
- $(this.ulcNode).attr("ulclevel",index);
|
|
|
- })
|
|
|
- },
|
|
|
- initUlcHtml : function(level,id,thisId){
|
|
|
- level = Number(level);
|
|
|
- $.ajaxSettings.async = false;
|
|
|
- //初始化联动
|
|
|
- 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);
|
|
|
- if (res.code == res.isFlag) {
|
|
|
- //数据返回
|
|
|
- if(res.data.length < 1 && !node.isFristSelect){
|
|
|
- $(node.ulcNode).append("<option value=''></option>");
|
|
|
- node.isSelected = 2;
|
|
|
- }
|
|
|
- $(res.data).each(function (){
|
|
|
- var data = node.parseData(this);
|
|
|
- $(node.ulcNode).append("<option value='"+ data.id +"'>"+ data.val +"</option>");
|
|
|
- })
|
|
|
- if(thisId != null && typeof thisId != "undefined" && thisId != ""){
|
|
|
- //赋值本下拉框的id
|
|
|
- $(node.ulcNode).val(thisId);
|
|
|
- node.ulcId = thisId;
|
|
|
- }else if(res.data.length > 0){
|
|
|
- node.ulcId = node.parseData(res.data[0]).id;
|
|
|
- }
|
|
|
-
|
|
|
- if(ulc.options.ulcLevel.length-1 > level && node.isSelected == 1){
|
|
|
- $(node.ulcNode).change(function (){
|
|
|
- /*点击事件*/
|
|
|
- ulc.initUlcHtml(level+1,$(node.ulcNode).val(),ulc.options.ulcLevel[level+1]);
|
|
|
- })
|
|
|
- var ulcId = ulc.options.ulcLevel[level+1].ulcId,ulcName=ulc.options.ulcLevel[level+1].ulcName;
|
|
|
- if(ulcName != null && typeof ulcName != "undefined" && ulcName != ""){
|
|
|
- ulcId = ulc.getUlcIdByName(ulc.options.ulcLevel[level+1]);
|
|
|
- }
|
|
|
- if(ulcId != null && typeof ulcId != "undefined" && ulcId != ""){
|
|
|
- ulcId = ulc.options.ulcLevel[level+1].ulcId;
|
|
|
- }
|
|
|
- ulc.initUlcHtml(level+1,node.ulcId,ulcId);
|
|
|
- }
|
|
|
- }else{
|
|
|
- console.log(res.msg);
|
|
|
- }
|
|
|
- });
|
|
|
- $.ajaxSettings.async = true;
|
|
|
- },
|
|
|
- setUlcById: function(){
|
|
|
- /**
|
|
|
- * 形参 1:level(级别)或者节点
|
|
|
- * 形参 2:id 传入id的值
|
|
|
- */
|
|
|
- var ulc = this,level=-1;
|
|
|
- if (arguments.length == 0) return this;
|
|
|
- if(arguments[0].constructor == Number){
|
|
|
- level = arguments[0];
|
|
|
- }else{
|
|
|
- //节点,传入节点,将进行取值ulclevel
|
|
|
- level = arguments[0].attr("ulclevel");
|
|
|
- }
|
|
|
- if(level == -1){
|
|
|
- console.log("setUlcId error!!!");
|
|
|
- return ulc;
|
|
|
- }
|
|
|
- var upperLevelId='';
|
|
|
- if(level != 0){
|
|
|
- upperLevelId = ulc.options.ulcLevel[level-1].ulcId;
|
|
|
- }
|
|
|
- ulc.initUlcHtml(level,upperLevelId,arguments[1]);
|
|
|
- return this;
|
|
|
- },
|
|
|
- getUlcIdByName:function(node,name){
|
|
|
- /**
|
|
|
- * 形参 1:level级别
|
|
|
- * 形参 2:名称,非必填,为空的时候,使用节点获取名称
|
|
|
- */
|
|
|
- var $node = node.ulcNode;
|
|
|
- if(name == null){
|
|
|
- name = $node.attr("ulcName");
|
|
|
- }
|
|
|
- var ulc = this;
|
|
|
- for (var i=0;i<ulc.options.judgeNameShield.length;i++){
|
|
|
- name = name.replace(ulc.options.judgeNameShield[i],"");
|
|
|
- }
|
|
|
- var max = 0,maxValue="";
|
|
|
- $node.find("option").each(function(){
|
|
|
- var number=0,attrName = "";
|
|
|
- if($(this).text().indexOf(name) > -1){
|
|
|
- number ++
|
|
|
- if($(this).text() == name){
|
|
|
- number ++
|
|
|
- }
|
|
|
- attrName = $(this).val();
|
|
|
- }
|
|
|
- if(max < number){
|
|
|
- max = number;
|
|
|
- maxValue = attrName;
|
|
|
- }
|
|
|
- })
|
|
|
- return maxValue;
|
|
|
- }
|
|
|
- }
|
|
|
- // initAddress 调用
|
|
|
- $.fn.initUlc = function(options) {
|
|
|
- var ulc = new UnlimitedLevelContact(this, options);
|
|
|
- ulc.init();
|
|
|
- return ulc;
|
|
|
- }
|
|
|
-})(jQuery,window,document);
|
|
|
-
|
|
|
-
|
|
|
function initAddress(addressNode){
|
|
|
var $provice = $(".address_info").find(".init_province");
|
|
|
var $city = $(".address_info").find(".init_city");
|