我已将[String, List[String]]
的地图传递给我在Play中的一个观点。用户正从下拉列表中选择一个值。此值是我的地图中的关键。我使用此密钥然后使用地图中的值填充第二个下拉列表 - String
列表。但是,由于我通过JavaScript检索密钥,因此我不知道如何使用Play模板语言从我的地图中获取价值。
这是我的代码:
function selectSubCat() {
var key = $("#monthYear").find(":selected").text(); // get the selected option's text. This is the map key.
// Here lies the issue. mailingRunDates is the name of the map I've passed to the view. Play says: val key not found.
var runDatesList = @mailingRunDates(key)
答案 0 :(得分:1)
我认为您正在尝试与playframework模板引擎进行javascript通信。除了you are trying to communicate with a controller using ajax之外,我担心你不能这样做。
在您的情况下,编译器正在查找声明为dynamic statement的变量。它是在服务器中运行的代码,因此当模板转换为html时,它无法更改。您可以使用@{key=12}
。
所以在这种情况下,我会将所有Map[String, List[String]]
提取到一个javascript对象,以便在javascript中创建该功能。