0

我有以下代码:

var n = 1;
var term = "${abc[n].term}";
console.log("term = " + term);

术语似乎是空的,但是如果我用它替换 var term = "${abc[n].term}"; 它就 var term = "${abc[1].term}"; 可以了。

看起来 jsp 正在寻找n甲板对象的属性,我该如何修复它,以便n在我使用 is as array index 时将其替换为它的值?

编辑: 尝试混合 JSTL 和 Javascript 似乎不是一个好主意,并且如果您想使用 javascript 变量作为数组索引,则必须将对象复制到 Array 对象,如下所示:

var deck = new Array();
<c:forEach var="v" items="${abc}">
    deck.push("${v.term}");
</c:forEach>

var n = 1;
console.log("term = " + deck[n]);
4

1 回答 1

1

你没有正确使用引号,试试这个:

var term = "${abc[" + n +"].term}";

"${abc[n].term}"这里 n 被视为字符串的一部分,而不是您的变量n。所以尝试连接它。

于 2013-06-23T02:20:42.037 回答