【发布时间】:2015-08-13 06:26:26
【问题描述】:
首先我是 Javascript 的新手。我正在使用一个在运行时获取其值的数组,例如
var tablehash = [CS: "CS", tbl_master: "tbl_master"]
我必须获取数组中的值才能与我尝试过的值进行比较
var valtocompare = tablehash ["CS"];
但它给了我错误,所以我手动测试了上面的数组
var tablehash = {CS: "CS", tbl_master: "tbl_master"}
并获取正确的值
我的问题是为什么我不能从以[] 作为开始和结束符号的数组中获取值,但我可以从以{} 作为开始和结束符号的数组中获取值
编辑:值 var tablehash = [CS: "CS", tbl_master: "tbl_master"]. 是在运行时从我的 jquery 中的 tablehash[xx[0]]=xx[0]; 行获得的,它包含在 [] 中,只有我能做什么
请任何人指出我做错了什么。
Uncaught SyntaxError: Unexpected identifier in jquery 问题
我不能问一个新问题我在这个线程中添加了我的新问题,因为下面提到的脚本在同一个 Jquery 库中。
我正在从我的页面调用下面提到的jQuery 库函数,但在评估我发送的 JSON 字符串的那一行,我得到 Uncaught SyntaxError: Unexpected identifier
从页面调用的函数
function BindSearchedQueryData(JsonString) {
$('.sqlbuild').loadSQB(JsonString);
}
loadSQB 是
loadSQB: function (jsonstr) {
var $tt = this[0];
$('.sqlcolumn').remove();
$('.sqlwhere').remove();
$('.sqlgroup').remove();
$('.sqlsort').remove();
var j=eval('(' + jsonstr + ')'); //Getting Error in this line
var coldiv =$(".addnewsqlcolumn");
var sortdiv =$('.addnewsqlsort');
var groupdiv=$('.addnewsqlgroup');
var wherediv=$('.addnewsqlwhere');
/*rebuild col data*/
for(var i=0;i<j.columndata.length;i++){
//j.columndata[i].columnslot, j.columndata[i].columnvalue
coldiv[0].opts.onselect(j.columndata[i].columnslot,coldiv,{columnas:j.columndata[i].columnas});
}
/*rebuild sort data*/
for(var i=0;i<j.sortdata.length;i++){
//j.sortdata[i].columnslot, j.sortdata[i].columnas
sortdiv[0].opts.onselect(j.sortdata[i].columnslot,sortdiv,{columnas:j.sortdata[i].columnas});
}
/*rebuild group by data*/
for(var i=0;i<j.groupdata.length;i++){
//j.groupdata[i].columnslot,
groupdiv[0].opts.onselect(j.groupdata[i].columnslot,groupdiv,null);
}
/*rebuild where data*/
for(var i=0;i<j.wheredata.length;i++){
//j.wheredata[i].columnslot, j.wheredata[i].opslot,j.wheredata[i].chainslot,j.wheredata[i].columnvalue
wherediv[0].opts.onselect(j.wheredata[i].columnslot,wherediv,{columnslot:j.wheredata[i].columnslot,opslot:j.wheredata[i].opslot,chainslot:j.wheredata[i].chainslot,columnvalue:j.wheredata[i].columnvalue});
}
}
请任何人指出这里出了什么问题
【问题讨论】:
-
这不是一个数组。如果你想要对象,使用
{CS: "CS", tbl_master: "tbl_master"},如果你想要数组,使用["CS", "tbl_master"]。[CS: "CS", tbl_master: "tbl_master"]只是无效的语法。请使用JSHint 验证您的代码。
标签: javascript c# jquery arrays