我在这个帖子Stackoverflow中提出了一个问题,它完美无缺。所以tnx给所有给我回复的用户。但现在我还有一个问题。
我想将对象放在一个单独的文件中,所以我只需要更新文件而不是JS文件(否则会非常大)。我正在使用JQUERY。
我现在看起来像这样(包含JS文件中的所有信息)。 IBANInfo用于填充选择框
var IBANInfo = {
"ccAL":{
countryCode:"AL",
countryName:"Albanië",
IBANlength:"28",
bankFormCode:"0 8n 0 ",
accountNum:"0 16 0 "
},
"ccAD":{
countryCode:"AD",
countryName:"Andorra",
IBANlength:"24",
bankFormCode:"0 4n 4n",
accountNum:"0 12 0 "
},
"ccBE":{
countryCode:"BE",
countryName:"België",
IBANlength:"16",
bankFormCode:"0 3n 0 ",
accountNum:"0 7n 2n"
}
};
//---- then this function is used to build the selectList
function createSelect(){
var selectList = '';
var key;
selectList += "<option value=''>Kies een land</option>\n";
for (key in IBANInfo) {
if (IBANInfo.hasOwnProperty(key)) {
var countryInfo = IBANInfo[key];
selectList += "<option value='"+countryInfo.countryCode+"'>"+countryInfo.countryName+"</option>\n";
}
}
$('#selectBox').html(selectList);
}
我以为我可以这样做,但是我的选择框中的信息未定义。
var IBANInfo = $.get('include/countryCodes.txt');
// also tried var IBANInfo = $.getJSON('include/countryCodes.txt');
//---- then this function is used to build the selectList
function createSelect(){
var selectList = '';
var key;
selectList += "<option value=''>Kies een land</option>\n";
for (key in IBANInfo) {
if (IBANInfo.hasOwnProperty(key)) {
var countryInfo = IBANInfo[key];
selectList += "<option value='"+countryInfo.countryCode+"'>"+countryInfo.countryName+"</option>\n";
}
}
$('#selectBox').html(selectList);
}
/*
the countryCodes.txt file is like this:
{
"ccAL":{
countryCode:"AL",
countryName:"Albanië",
IBANlength:"28",
bankFormCode:"0 8n 0 ",
accountNum:"0 16 0 "
},
"ccAD":{
countryCode:"AD",
countryName:"Andorra",
IBANlength:"24",
bankFormCode:"0 4n 4n",
accountNum:"0 12 0 "
},
"ccBE":{
countryCode:"BE",
countryName:"België",
IBANlength:"16",
bankFormCode:"0 3n 0 ",
accountNum:"0 7n 2n"
}
}
*/
我做错了什么。 Tnx提前
额外信息: 我已经创建了一个生成IBANnumbers的站点,您可以在iban.wswebcreation.nl上找到它。在此站点上,您可以生成1-100个IBANnumbers。我想要的是一种验证用户想要验证的IBANnumber的方法。他可以通过在输入字段中填写IBANnumber来实现这一点(参见其他网站)。
如果您看到源文件,您将看到var IBANInfo位于JS文件中。我想把它放在一个单独的txt文件中加载。 IBANInfo保存使用IBANnumber的国家/地区的所有信息(数字位数,国家/地区代码,帐号的构建方式等)。 我现在以一些帮助作为对象,看到前一个问题的链接。这有效。但是在将来我还想使用IBANInfo来验证IBANnumber。
希望你现在有足够的信息
答案 0 :(得分:2)
修改强>:
要提供全局访问权限,您可以执行以下操作:
var IBANInfo = {};
$.getJSON('include/countryCodes.txt', function(json){ IBANInfo = $.extend({}, IBANInfo, data);});
您需要使用$.getJSON
代替。 get和post方法也不会返回数据,因为它们需要工作异步,所以你必须运行你的createSelect
函数作为回调:
$.getJSON('include/countryCodes.txt', createSelect);
然后你createSelect需要至少拿一个参数作为数据...所以你的定义将是这样的:
function createSelect(IBANInfo){ /* your logic */}