【问题标题】:Adding drop down list item to json object in play 2 framework在 play 2 框架中将下拉列表项添加到 json 对象
【发布时间】:2012-09-12 15:40:08
【问题描述】:

我有一个使用 java 的 play 2 框架项目。 在视图文件中,有一个由控制器类中的方法填充的下拉列表。 除了下拉列表,我还有一个 json 数据结构,它由视图文件中的 javascript 方法和事件侦听器填充。 现在我想要一种将下拉列表中的选定项目添加到 json 对象的方法。 我提供了下面代码的sn-ps。

这是下拉列表的代码:

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

我有以下来自 javascript 和 json 对象的代码 sn-ps

 <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" : Itemselected}

谢谢大家

【问题讨论】:

    标签: java javascript jquery html playframework


    【解决方案1】:

    你应该意识到这是一个 JS+HTML 的话题,所以显示 Play 的视图对于 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
    

    【讨论】:

    • hi biesior 感谢您的建议,我们会尽力回复您
    猜你喜欢
    • 2015-04-14
    • 2016-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-24
    • 2017-11-30
    • 1970-01-01
    • 2010-11-09
    相关资源
    最近更新 更多