2010-02-04 83 views
1

如何設置g的selectedIndex:選擇>標記,並使用列表中的值?我有一個頁面可以讓你添加一條記錄。該頁面然後轉到包含g:select的視圖,並且我希望將g:select設置爲默認插入到數據庫中的那個項目。Grails g:選擇設置selectedIndex

我試着在閃存中傳遞新的對象,但我無法弄清楚如何讓它的索引在列表中被用來生成g:select數據。

回答

2

假如你在flash.book在控制器級存儲一個Book對象,你的第二個頁面看起來是這樣的:

<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> 
+0

真棒作品完美,我用$適應它的jQuery(「#fileSelect」) .VAL($ {閃存.upload .ID?}); – TripWired 2010-02-04 20:59:03

+0

很酷。我只是想到了一些事情:如果你刷新頁面,你將失去你的選擇,因爲閃光範圍。 Maybie最好是在第一次進入頁面時將值存儲在隱藏字段中,並在後續頁面刷新時從中讀取它... – Philippe 2010-02-05 08:49:20

相關問題