在一个js文件中引用另一个js文件(此文件仅包含一个js数组),如何实现,这种方法有没有什么有关问题
在一个js文件中引用另一个js文件(此文件仅包含一个js数组),怎么实现,这种方法有没有什么问题
如题
现在需要做一个二级联动的菜单,想先用一个js文件来存放这个数组 然后再另一个写方法的页面调用这个文件和数组,应该怎么做
这种方式有没有什么问题? 有没有更好的解决办法?
数组js: arr.js
方法js
------解决方案--------------------
a.js,你的数组文件
b.js
------解决方案--------------------
------解决方案--------------------
// 动态导入js
function include(src,encoding,fun)
{
var s = document.createElement('script');
s.type='text/javascript';
s.charset=encoding; //'gb2312';
s.src = src;
var tags =document.getElementsByTagName('head');
if(typeof(fun)=='function'){
if( document.all ){
s.onreadystatechange = function(){
if(/(complete
------解决方案--------------------
loaded)/.test(this.readyState)){
fun(); s.onreadystatechange = null; s.parentNode.removeChild(s);
}};
}else{
s.onload = function(){ fun(); s.onload = null; s.parentNode.removeChild(s); };
}
}
tags[0].appendChild(s);
};
------解决方案--------------------
如题
现在需要做一个二级联动的菜单,想先用一个js文件来存放这个数组 然后再另一个写方法的页面调用这个文件和数组,应该怎么做
这种方式有没有什么问题? 有没有更好的解决办法?
数组js: arr.js
var br = new Array();
br[1] = new Array(); //身份信息
br[1][1] = "身份证明不清晰";
br[1][2] = "需补充二代身份证";
br[1][3] = "申请人有两个身份证号码(非正常升位),需补充派出所卡具的户籍证明";
br[1][4] = "身份证信息录入有误";
br[1][5] = "其他";
方法js
function htyy(obj){
//这里怎么获得br这个数组
var zhuyuanyin = $(obj).val();
var ziyuanyin_html = "";
var ziyuanyin_obj = br[zhuyuanyin];
$.each($(ziyuanyin_obj), function(i, n){
ziyuanyin_html += "<option value='"+i+"'>"+n+"</option>";
});
$("select[name='htyy_2']").html(ziyuanyin_html);
}
------解决方案--------------------
a.js,你的数组文件
b.js
document.write ('<script src="a.js"></script>')
//注意使用a.js数组的代码要放到window.onload中,动态输出的script不会挂起本js文件后续代码的执行
window.onload=function(){
//your code use a.js array
}
------解决方案--------------------
<script>
var flag=false;
var loading = false;
var error = false;
var time = null;
function success(){
flag=true;
loading = 'over';
};
function error(){
error=true;
}
function getData(){
$.ajax({
url: 'arr.js',
dataType: "script",
success: success,
error : error
});
}
function htyy(obj){
if(!flag){
if(error){
alert('error');
return;
}
if(loading){
if(loading == 'over'){
clearInterval(time);
}
return;
}else{
loading = true;
getData();
time = setInterval(jQuery.proxy(htyy,null,obj),500);
return;
}
}else{
clearInterval(time);
}
var $a = br;
var $b = obj;
/*
var zhuyuanyin = $(obj).val();
var ziyuanyin_html = "";
var ziyuanyin_obj = br[zhuyuanyin];
$.each($(ziyuanyin_obj), function(i, n){
ziyuanyin_html += "<option value='"+i+"'>"+n+"</option>";
});
$("select[name='htyy_2']").html(ziyuanyin_html);
*/
}
htyy({name:'j',addr:'t'});
</script>
------解决方案--------------------
// 动态导入js
function include(src,encoding,fun)
{
var s = document.createElement('script');
s.type='text/javascript';
s.charset=encoding; //'gb2312';
s.src = src;
var tags =document.getElementsByTagName('head');
if(typeof(fun)=='function'){
if( document.all ){
s.onreadystatechange = function(){
if(/(complete
------解决方案--------------------
loaded)/.test(this.readyState)){
fun(); s.onreadystatechange = null; s.parentNode.removeChild(s);
}};
}else{
s.onload = function(){ fun(); s.onload = null; s.parentNode.removeChild(s); };
}
}
tags[0].appendChild(s);
};
------解决方案--------------------