AjaxRemoteGetData is not defined

AjaxRemoteGetData is not defined

var storage = {};

storage.hospital = [

	['area','level','type','name','address','phone','imgUrl','time'],

	['朝阳区','三级甲等','卫生部直属医院','首都儿科研究所附属儿童医院','北京市朝阳区雅宝路2号','010-85695756','img/hospital-1.jpg','14:30'],

	['朝阳区','三级甲等','卫生部直属医院','中日友好医院','北京市朝阳区樱花东路2号','84205288','img/hospital-2.jpg','8:30'],
	['西城区','三级甲等','卫生部直属医院','首都医科大学附属北京友谊医院','北京市西城区永安路95号','63016616','img/hospital-3.jpg','9:30'],
	['朝阳区','三级甲等','卫生部直属医院','首都医科大学附属北京地坛医院B附属','北京市朝阳区樱花东路2号','84205288','img/hospital-4.jpg','8:30'],
	['朝阳区','三级合格','北京区县属医院','空军总医院','北京市朝阳区樱花东路2号','84205288','img/hospital-5.jpg','8:30'],
	['海淀区','三级合格','北京区县属医院','航天中心医院(原721医院)','北京市海淀区玉泉路15号','59971160','img/hospital-6.jpg','8:30'],
	['丰台区','三级甲等','北京区县属医院','北京中医药大学东方医院','北京丰台区方庄芳星园一区6号','67689655','img/hospital-1.jpg','8:30'],

	['丰台区','三级合格','北京区县属医院','北京电力医院','北京市丰台区太平桥西里甲1号','84205288','img/hospital-2.jpg','8:30'],
	['顺义区','三级甲等','北京区县属医院','北京中医医院顺义医院','北京市顺义区站前东街5号','84205288','img/hospital-3.jpg','8:30'],
	['通州区','三级甲等','其他','首都医科大学附属北京潞河医院三级综合医院','北京市通州区新华南路82号','69543901','img/hospital-4.jpg','8:30'],
	
];

storage.department = [
	['hospitalName', ['departmentName'] ],

	['首都儿科研究所附属儿童医院',['儿科a','儿科b','儿科d'] ],
	['中日友好医院',['科室a','科室b','科室c','科室d'] ],

	['首都医科大学附属北京友谊医院', ['departmentName-1'] ],
	['首都医科大学附属北京地坛医院B附属', ['departmentName-2'] ],
	['空军总医院',['departmentName-3'] ],
	['航天中心医院(原721医院)', ['departmentName-4'] ],
	['北京中医药大学东方医院', ['departmentName-5'] ],
	['北京电力医院', ['departmentName-6'] ],
	['北京中医医院顺义医院', ['departmentName-7'] ] ,
	['首都医科大学附属北京潞河医院三级综合医院', ['departmentName-8'] ] 

]

var AjaxRemoteGetData = {};

AjaxRemoteGetData.getDistinctArea = function() {
	
	console.log('远程数据获取','getDistinctArea');

	var map = {};
	var arr = ['医院地区'];
	for(i=1,j=storage.hospital.length; i<j ; i++){
		var _d = storage.hospital[i][0];
		map[_d] =1;
	}
	for( k in map){
		arr.push(k);

	}
	console.log('结果',arr);
	return arr;
}
AjaxRemoteGetData.getLeveByArea  = function( area ){
	console.log('远程数据获取','getLeveByArea','arguments:',arguments);
	
	var map = {};
	var arr = ['医院等级'];
	for(i=1,j=storage.hospital.length; i<j ; i++){

		var _area = storage.hospital[i][0];
		var _d = storage.hospital[i][1];
		if(area == _area){
			map[_d] = 1;
		}
	}
	for( k in map){
		arr.push(k);

	}
	console.log('结果',arr);
	return arr;
}
AjaxRemoteGetData.getNameByAreaAndLevel = function( area , level ){
	console.log('远程数据获取','getNameByAreaAndLevel','arguments:',arguments);
	var map = {};
	var arr = ['医院名称'];
	for(i=1,j=storage.hospital.length; i<j ; i++){

		var _area = storage.hospital[i][0];
		var _level= storage.hospital[i][1];
		var _d = storage.hospital[i][3];
		if(level == _level && area == _area ){
			map[_d] = 1;
		}
	}
	for( k in map){
		arr.push(k);

	}
	console.log('结果',arr);
	return arr;
}
AjaxRemoteGetData.getDepartmentArrByHospitalName = function( area,level,hospitalName ){
	console.log('远程数据获取','getDepartmentArrByHospitalName','arguments:',arguments);
	var map = {};
	var arr = ['科室名称'];
	for(i=1,j=storage.department.length; i<j ; i++){

		var _hospitalName = storage.department[i][0];
		var _d = storage.department[i][1];
		if(hospitalName == _hospitalName ){
			map[_d] = 1;
		}
	}
	for( k in map){
		arr.push(k);

	}
	console.log('结果',arr);
	return arr;
}

AjaxRemoteGetData.getDistinctType=function(){
	console.log('远程数据获取','getDistinctType');

	var map = {};
	var arr = ['医院类型'];
	for(i=1,j=storage.hospital.length; i<j ; i++){
		var _d = storage.hospital[i][2];
		map[_d] =1;
	}
	for( k in map){
		arr.push(k);

	}
	console.log('结果',arr);
	return arr;
}
AjaxRemoteGetData.getDistinctLevel=function(){
	console.log('远程数据获取','getDistinctLevel');

	var map = {};
	var arr = ['医院等级'];
	for(i=1,j=storage.hospital.length; i<j ; i++){
		var _d = storage.hospital[i][1];
		map[_d] =1;
	}
	for( k in map){
		arr.push(k);

	}
	console.log('结果',arr);
	return arr;
}
AjaxRemoteGetData.getHospitalArrByFilter=function(type,level,area){
	console.log('远程数据获取','getHospitalArrByFilter','arguments:',arguments);
	var map = {};
	var arr = ['医院列表'];
	for(i=1,j=storage.hospital.length; i<j ; i++){

		var _type= storage.hospital[i][2];
		var _area = storage.hospital[i][0];
		var _level= storage.hospital[i][1];

		var _d = storage.hospital[i][3];
		if( 
				(level == _level || level =='全部') && 
				(area == _area || area == '全部' ) && 
				(type == _type || type == '全部')
			){
			arr.push(storage.hospital[i]);
		}
	}
	console.log('结果',arr);
	return arr;
}



//搜素
$.fn.uiSearch = function(){
	var ui = $(this);
	var serchSelect = $('.ui-search-selected',ui);
	serchSelect.click(function(){
		$('.ui-search-select-list').show();
		return false;//阻止事件冒泡,不然也会触发body的点击事件
	});

	$('.ui-search-select-list a',ui).click(function(){
		var text = $(this).text();
		serchSelect.text(text);
		$('.ui-search-select-list').hide();
		
	});

	$('body').click(function(){
		$('.ui-search-select-list').hide();
	});
};


//回到顶部
$.fn.backTop = function(){
	var ui = $(this);
	var el = $('<a class="go-top" href="#0"></a>');
	ui.append(el);
	var windowHeight = $(window).height();
	var scrollTop = $(window).scrollTop();
	$('window').scroll(function(){
		if(scrollTop > windowHeight){
			el.show();
		}else{
			el.hide();
		}
	});

	el.click(function(){
		$(window).scrollTop(0);
	});
}


//选项卡
$.fn.uiTab = function(header,content,focus_prefix){
	var ui = $(this);
	var tabs = $(header,ui);
	var cons = $(content,ui);
	var focus = focus_prefix || '';
	tabs.click(function(){
		var index = $(this).index();
		tabs.removeClass(focus+"item_focus");
		$(this).addClass(focus+"item_focus");
		cons.hide();
		cons.eq(index).show();
		return false;
	});

};


//幻灯片
$.fn.uiSlider = function(){
	var ui = $(this);
	var prev = $('.ui-slider-arrow .left',ui);
	var next = $('.ui-slider-arrow .right',ui);
	var dots = $('.ui-slider-process a',ui);
	var wrap = $('.ui-slider-wrap',ui);
	var width = wrap.children().eq(0).width();
	var current = 0;
	var len = wrap.children().length;
	var enableAuto=true;

	ui.mouseover(function(){
		enableAuto=false;
	});
	
	ui.mouseout(function(){
		enableAuto=true;
	});
	
	wrap.on('move_to',function(event,index){
		wrap.css('left',index*width*-1+'px');
		dots.removeClass('item_focus').eq(index).addClass('item_focus');
	})

		.on('move_prev',function(){
			
			current--;
			if(current<0){
				current=len-1;
			}
			wrap.triggerHandler('move_to',current);
		})

		.on('move_next',function(){
			
			current++;
			if(current>len-1){
				current=0;
			}
			wrap.triggerHandler('move_to',current);
		})

		.on('auto_move',function(){
			setInterval(function(){
				if(enableAuto){
					wrap.triggerHandler('move_next');
				}
			},2000);
		})

		.triggerHandler('auto_move');

	dots.click(function(){
		var index = $(this).index();
		wrap.triggerHandler('move_to',index);
	});

	prev.click(function(){
		wrap.triggerHandler('move_prev');

	});

	next.click(function(){
		wrap.triggerHandler('move_next');

	});

};


//下拉列表
$.fn.UiCascading = function(){
	var ui = $(this);
	var selects = $('select',ui);

	selects
	.on('change',function(){
		var val = $(this).val();
		var index = selects.index(this);
		console.log(val);
		//	触发下一个之后的 select  的初始化(清除不应该的数据项)
		ui.find('select:gt('+(index+1)+')').each(function(){
			$(this)
			.attr('data-where','')
			.triggerHandler('reloadOptions');
		});
	})

	.on('reloadOptions',function(){
		var method = $(this).attr('data-search');//getDistinctArea
		// console.log(method);
		var args = $(this).attr('data-where').split(',');// [""]
		var data = AjaxRemoteGetData[ method ]();
		// var data = AjaxRemoteGetData[ method ].apply( this, args );

		debugger
		
	});


	selects.eq(0).triggerHandler('reloadOptions');
};
	


//脚本定义
$('.ui-search').uiSearch();
$('body').backTop();
$('.content-tab').uiTab('.caption > .item','.block > .item');
$('.content-tab .block .item').uiTab('.block-caption > a','.block-content > .block-wrap' ,'block-caption-');
$('.ui-slider').uiSlider();
$('.ui-cascading').UiCascading();
一直报这个错误,html和css文件我是直接从源码那里拿过来用的,我测试修改的也就只有ui.js这个文件。

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

你好,如下,你到引入的这个路径顺序调换下,先引入data.js

http://img1.sycdn.imooc.com//climg/5b8527c40001ac7d12780130.jpg

若能帮助到你,望采纳。

祝学习愉快~

好帮手慕糖 2018-08-28 18:07:39

你好,是吧data.js中的内容也写到ui.js中了是么,这里在源码中测试,把内容粘到了ul.js中,同时去掉了页面中的data.js的引入,是没有报错的哦。

祝学习愉快~

  • 不是,data.js和ui.js我是分开的。下面是报错信息 ui.js:155 Uncaught ReferenceError: AjaxRemoteGetData is not defined at HTMLSelectElement.<anonymous> (ui.js:155) at HTMLSelectElement.dispatch (jquery-1.7.1.min.js:3) at HTMLSelectElement.i (jquery-1.7.1.min.js:3) at Object.trigger (jquery-1.7.1.min.js:3) at init.triggerHandler (jquery-1.7.1.min.js:3) at init.$.fn.UiCascading (ui.js:163) at ui.js:174
    2018-08-28 18:28:53
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
前端小白入门系列课程
  • 参与学习           人
  • 提交作业       11218    份
  • 解答问题       36713    个

从一个不会编程的小白到一个老司机是需要过程的,首先得入门,学习基础知识,然后才能进阶,最后再到精通,本专题是你走进前端世界的不二选择!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师