gpt4 book ai didi

java - 在 play 2 框架中向 json 对象添加下拉列表项

转载 作者:行者123 更新时间:2023-12-01 15:10:46 24 4
gpt4 key购买 nike

我有一个使用 java 的 play 2 框架项目。在 View 文件中,有一个下拉列表,由 Controller 类中的方法填充。除了下拉列表之外,我还有一个 json 数据结构,它由 View 文件中的 javascript 方法和事件监听器填充。现在我想要一种将下拉列表中所选项目添加到 json 对象的方法。我提供了下面的代码片段。

这是下拉列表的代码:

 <select class = "selectone">
@for(gesture <- gesturesList){
<option value = @gesture.id>
@gesture.getName()
</option>
}
</select>

我有以下来自 javascript 和 json 对象的代码片段

 <script type="text/javascript" charset="utf-8">

/* this is our websocket connection */
var WS = window['MozWebSocket'] ? MozWebSocket : WebSocket
var socket = new WS("@routes.Application.webSocket().webSocketURL(request)")

/* this is the json object , it contains x and y coordinates from HTML5 canvas */
var jNode = {"x":arrayX,"y":arrayY }


/* this is a jquery function for tranmitting json object through the websocket */

$('button.add').click(function() {
socket.send(JSON.stringify(jNode));})
</script>
}

有人可以告诉我如何将从下拉列表中选择的项目添加到 json 对象中,以便我们在 json 对象中拥有如下所示的内容:

var jNode = {"x":arrayX,"y":arrayY , "item": 所选项目}

谢谢大家

最佳答案

你应该意识到这是一个 JS+HTML 主题,因此显示 Play 的 View 对于 JS 极客来说没有任何意义......

无论如何,当您使用 jQuery 时,也可以使用它来获取 val()。顺便说一句,记住它应该放置在某个事件中(即:click()),否则它将复制页面加载后设置的值并且不会更改它):

 <select class = "selectone">
<option value="0">Choose</option>
<option value="1">Gest 1</option>
<option value="2">Gest 2</option>
<option value="3">Gest 3</option>
</select>

<script type="text/javascript" charset="utf-8">
// ...
$('button.add').click(function() {
var jNode = {"x":arrayX,"y":arrayY , "item" : $("select.selectone").val()};
socket.send(JSON.stringify(jNode));
});
// ...
</script>

来自val() API :

$('select.foo option:selected').val();    // get the value from a dropdown select
$('select.foo').val(); // get the value from a dropdown select even easier

关于java - 在 play 2 框架中向 json 对象添加下拉列表项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12391822/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com