0

私はjavaを使ったplay2framewrokプロジェクトを持っています。ビューファイルには、コントローラークラスのメソッドによって入力されるドロップダウンリストがあります。ドロップダウンリストに加えて、ビューファイルにjavascriptメソッドとイベントリスナーによって入力されるjsonデータ構造もあります。次に、ドロップダウンリストから選択したアイテムを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":Itemselected}

皆さん、ありがとうございました

4

1 に答える 1

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
于 2012-09-12T16:25:21.833 に答える