日期:2014-05-16  浏览次数:20511 次

在一个js文件中引用另一个js文件(此文件仅包含一个js数组),怎么实现,这种方法有没有什么问题
如题

现在需要做一个二级联动的菜单,想先用一个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){
     &nbs