1

リストの値を使用して <g:select> タグに selectedIndex を設定するにはどうすればよいですか? レコードを追加できるページがあります。次に、ページは ag:select を含むビューに移動し、g:select を、データベースに挿入したばかりの項目にデフォルト設定する必要があります。

新しいオブジェクトをフラッシュで渡そうとしましたが、g:select データの生成に使用されているリスト内のインデックスを取得する方法がわかりません。

4

1 に答える 1

2

Bookオブジェクトをコントローラーレベルでflash.bookに格納するとすると、2番目のページは次のようになります。

<html>
    <head>
        <g:javascript library="prototype" />
        <g:javascript>
              function showLast(selectedId) {
                  if (selectedId) {
                    $$('#books option[value=' + selectedId + "]")[0].selected = true;
                  } else {
                    $('books').selectedIndex = 0;
                  }
              };

              Event.observe(window, 'load', init, false);

              function init() {
                  showLast(${flash?.book?.id});
              }
            </g:javascript>
    </head>
    <body>
        <g:select id="books" name="id"
                  from="${Book.list()}"
                  value="title"
                  optionValue="title"
                  optionKey="id"
         />
    </body>
</html>
于 2010-02-04T16:44:48.127 に答える