g select:如何从一个列表中提取值并从另一个列表中显示选项?

时间:2016-08-03 15:21:29

标签: java sql grails select gsp

假设我有一个名为carNames的数据库。我希望下拉列表显示每辆车的全名,而我希望每个车的值只显示每辆车的ID。无论我做什么,它都会使值和显示的名称保持一致,并且基于我所做的所有更改,似乎只有from标记对下拉列表及其值有任何影响。这是代码:

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

1 个答案:

答案 0 :(得分: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页面并使用它来填充下拉列表。