2012-09-12 18 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謝謝你的建議將嘗試並回到你身邊 –