xfhxbb/LArea

建议确定后增加回调

Opened this issue · 2 comments

建议确定后增加回调函数,数据能否直接引用json文件
area1.init({
'data': 'js/AreaData.json' ,//数据源
callback:function(id,value)(){}
});

area2.init({ 'trigger': '#demo2', 'valueTo': '#value2', 'keys': { id: 'value', name: 'text' }, 'type': 2, 'data': [provs_data, citys_data, dists_data], 'ok':function (value) { console.log(value) }, 'close':function () { console.log(0) } });

源码:
341行:
if(this.valueTo){ this.valueTo.value= provinceCode +((cityCode)?(',' + cityCode):('')) + ((countyCode)?(',' + countyCode):('')); } _self.params.ok&&_self.params.ok([provinceText,cityText,countyText]); _self.close(e); }, close: function(e) { e.preventDefault(); var _self = this; var evt = new CustomEvent('input'); _self.trigger.dispatchEvent(evt); document.body.removeChild(_self.gearArea); _self.gearArea=null; _self.params.close&&_self.params.close(); }

ok返回选择地址的数组

+1 同建议增加回调,可以自主控制结果

var addrText = provinceText + ((cityText)?(',' + cityText):(''))+ ((countyText)?(',' + countyText):(''));
var addrCode = provinceCode +((cityCode)?(',' + cityCode):('')) + ((countyCode)?(',' + countyCode):(''));
if (this.params.finish && typeof this.params.finish === 'function') {
    this.params.finish(addrText, addrCode, [provinceVal, cityVal, countyVal]);
} else {
    addrText = addrText.replace(/县,|市辖区,/ig, '').replace(/,/ig, ''); // 直辖市结果处理
    _self.trigger.value = addrText;
    _self.value = [provinceVal, cityVal, countyVal];
    if(this.valueTo){
        this.valueTo.value= addrCode;
    }
}

这样,在init的时候

var area = new LArea();
area.init({
    'trigger': '#trigger', 
    'keys': {
        id: 'id',
        name: 'name'
    },
    'type': 1, 
    'data': LAreaData, 
    finish: function(text, code, value) {
        // 自己选择显示结果
    }
});