播放框架:从下拉列表中选择一个值时更新网页

Play framework: update web page when a value is selected from drop down

我是第一次使用play framework

我想在不刷新网页的情况下从下拉列表中选择一个值时更新网页。

考虑以下示例:

<select>
  <option value= "Apple"> Apple </option>
  <option value = "Banana"> Banana </option>
</select>

当从下拉列表中选择一个值时,它应该被发布到服务器。然后服务器应该return一些基于它得到的值的信息。现在我们应该在不刷新页面的情况下显示与从下拉列表中选择的值对应的内容。

我没有找到使用 play 框架实现它的方法。按照惯例,我们可以通过最初隐藏 div 来做到这一点,当从下拉列表中选择一个值时,我们可以将内容(从后端获取)添加到 div 并显示它。我不明白如何实现服务器端部分。在play framework中,controller一般是returns Result类型。如何 return 播放框架中请求的 Json 值?

任何人都可以提出其他想法吗??

谢谢

使用 jQuery 的解决方案(参见 change() and load()):

<select id="select">
    <option value="Apple">Apple</option>
    <option value="Banana">Banana</option>
</select>

<div id="result"></div>

<script>
    $('#select').change(function() {
        $('#result').load('/foo/bar?fruit=' + $(this).val());
    });
</script>

编辑:要解决问题的 JSON/server-side 部分,请查看 ScalaJsonHttp (or JavaJsonActions)。