2016-08-03 28 views
0

Angenommen, ich habe eine Datenbank namens carNames. Ich möchte, dass die Dropdown-Liste die vollständigen Namen jedes Autos anzeigt, während ich möchte, dass die Werte von jedem von diesen nur die ID jedes Autos anzeigen. Es macht den Wert und den angezeigten Namen immer gleich, egal was ich mache, und basierend auf all den Änderungen, die ich gemacht habe, scheint nur das from Tag Auswirkungen auf das Dropdown und seine Werte zu haben. Hier ist der Code:g select: Wie ziehe ich den Wert aus einer Liste und die angezeigten Optionen aus einer anderen?

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

Die von sollte ein Objekt sein, das eine Liste enthält, der Schlüssel ist ein Textwert des Listenelements wie in der ID der Wert, den Sie sehen möchten, wie ist der Name des Namens. Das sieht alles falsch aus – Vahid

Antwort

0

Versuchen Sie, die kombinierte Liste auf der Serverseite zu erstellen.

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, 

    ] 
} 

Dann cars_with_names zu gsp Seite übergeben und es verwenden, die Drop-down zu füllen.