【发布时间】:2015-08-26 22:09:20
【问题描述】:
我正在做这个网页,我在我的请求中传递了一个包含地图的属性。
我正在使用 Jquery 根据键获取此映射的值。
我有以下代码:
jQuery("font#clickable").click(function() {
var t = $(this).text();
var operation = '${regle.words[t].operation}';
alert(operation);
});
我将在单击时获取包含的文本并将其存储在“t”变量中。
以下是不同元素的描述:
- “regle”:是请求上的属性。
- "words" : "String,Word" 的映射。
- “Word”包含不同的属性,如文本、操作、颜色..(所有字符串)
问题是当我尝试根据点击的单词获取操作的值时(var operation = '${regle.words[t].operation }') 我在 alert() 中得到一个空结果。
var 操作为空
当我直接在“单词”映射键上传递字符串时:
var operation = '${regle.words['that'].operation}';
我可以得到手术。操作值为“替换”。我尝试了以下方法:
var t = 'that';
但同样的结果我得到一个空字符串。问题是当我在键上传递变量而不是字符串时。
有人知道如何解决这个问题吗?
【问题讨论】:
-
经过多次测试,我意识到如果我们想在地图的键中传递一个变量,它必须是请求变量或页面变量。如果我尝试以下操作:
和我做 var operation = '${regle.words[mot].operation}';我获得了所需的结果(“替换”)。现在的问题是如何在 JSTL 集合的值上传递一个 javaScript 的变量。 -
还有另一种可能的解决方案是转换 '${regle.words[mot].operation}';将 mot 替换为其值 var newString = 'Trying' + mot 的字符串。这会给我 var newString = 'trying that'。我试过函数 eval("String");但是还没有结果..
标签: javascript jquery dictionary