fd-gulp-convert-encoding
Version:
convert file to assigned charset
107 lines (93 loc) • 3.45 kB
JavaScript
/**
* areaList交互逻辑
*/
define('detail.modules.areaList.View',
['jQuery', 'Class','detail.core.Event','lofty.ui.scroller'],
function($, Class,Event,Scroller) {
return Class({
init: function(view, config) {
this.onEvent = $.os.supportsTouch ? 'tap' : 'click';
this.div = view;
this.config = config;
this.bindEvent();
this.getAreaList();
//this.initScroller();
},
bindEvent:function(){
var self = this;
this.div.on(this.onEvent,'dt',function(){
var p = $(this),
parent = p.closest('dl'),
code = p.data('code'),
content = p.data('content'),
cityData = self.areaList[content];
// self.div.find('dl').removeClass('selected');
parent.toggleClass('selected');
!parent.data('dataDone') && self.renderCityList(cityData,parent,content);
}).on(this.onEvent,'li',function(){
var li = $(this),
content = li.data('content'),
pContent = li.data('pContent');
self.div.find('li').removeClass('selected');
li.addClass('selected');
Event.trigger('logisticsChange',{"content":content,"pContent":pContent,"countryCode":1001});
});
},
initScroller:function(){
var height = $(window).height();
$('#d-area-list').height(height-120);
this.myScroll = new Scroller({
container: '#d-area-list',
topOffset: 0
});
},
getAreaList:function(){
var self = this,
url = this.config.laputaServer+'/offer/ajax/AreaList.do';
$.ajax(url,{
dataType:'jsonp',
success:function(o){
o.success && o.data && self.renderProvinceList(o.data.areaList);
}
});
},
renderProvinceList:function(data){
var self = this,
container = $('div.pack',this.div),
temp=[],provinceData,province,html;
this.areaList = data['CN_1001'];
provinceData = this.serializeData(this.areaList);
for (var i = 0; i < provinceData.length; i++) {
province = provinceData[i];
temp.push('<dl><dt data-code="'+province.code+'" data-content="'+province.content+'">'+province.name+'</dt><dd><ul>')
temp.push('</ul></dd></dl>');
};
html = temp.join('');
container.html(html);
setTimeout(function(){
self.initScroller();
},200);
//this.myScroll.refresh();
},
renderCityList:function(data,container,content){
var temp=[],cityData,city,html;
cityData = this.serializeData(data);
for (var i = 0; i < cityData.length; i++) {
city = cityData[i];
temp.push('<li data-pContent="'+content+'" data-content="'+city.content+'">'+city.name+'</li>');
};
html = temp.join('');
container.data('dataDone',true).find('ul').html(html);
this.myScroll.refresh();
},
serializeData:function(data,pCode){
var p,
dataArr = [];
for(var k in data){
p = k.split("_");
dataArr.push({"name":p[0],"code":p[1],"content":k});
}
return dataArr;
}
});
});