在Scala Play Framework视图中使用键检索地图值

时间:2016-05-17 14:28:01

标签: javascript scala playframework

我已将[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) 

1 个答案:

答案 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中创建该功能。