2012-09-12 48 views
0

我有一个播放2 framewrok项目与Java。 在视图文件中,有一个由控制器类中的方法填充的下拉列表。 除了下拉列表,我还有一个json数据结构,它由视图文件中的javascript方法和事件侦听器填充。 现在我想要一种方法将下拉列表中选定的项目添加到json对象。 我已经提供了下面的代码片段。添加下拉列表项到播放2框架中的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”:Itemselec泰德}

谢谢大家

回答

1

你应该认识到这是一个JS + HTML的话题,所以显示播放的视图没有意义的JS怪才......

反正你正在使用jQuery的,使用它也得到val()。 BTW记得它应该放在一些事件中(即: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 
+0

喜biesior谢谢你的建议将尝试并回到你身边 –