2016-08-03 91 views
0

假設我有一個名爲carNames的數據庫。我希望下拉列表顯示每輛車的全名,而我希望每個車的值都只顯示每輛車的ID。無論我做什麼,它都會使值和顯示的名稱保持一致,並且基於我所做的所有更改,似乎只有from標記對下拉列表和它的值有任何影響。以下是代碼:g選擇:我如何從一個列表中提取值並從另一個列表中顯示選項?

<g:select name="carDropdown" 
    from="${carNames.carOfficialName}" 
    value="${carNames*.carId}" 
    optionValue="${carNames*.carId[]}" 
    optionKey="${carNames*.carId[]}" 
    multiple="true" /> 
+0

from應該是一個包含列表的對象,該鍵是列表元素的文本值,如在id中,您希望看到的值是name的名稱。這看起來都錯了 – Vahid

回答

0

嘗試在服務器端創建組合列表。

def cars = Car.findAll() 
def carnames = magicCodeToGetCarNames() 
def carnamemap = [:] 
def cars_with_names = [] 
carnames.each { 
carnamemap[it.car_id] = it.carname 
} 
cars.each{ 
    cars_with_names << [ 
     id: it.id, 
     carname: carnamemap[it.id], 
     color: it.color, 
     another: it.another, 

    ] 
} 

然後通過cars_with_names到GSP頁面,並用它來填充下拉列表。

相關問題