2012-11-06 2 views
4

현재 Grails 응용 프로그램에서 작업 중이며 페이지에서 선택 목록을 찾고 해당 키를 한 값으로 설정하고 값을 다른 값으로 설정합니다. 모든 관련 요소의 코드는 다음과 같습니다 :Grails 선택 목록에서 옵션 키와 값을 설정 하시겠습니까?

도메인 개체 :

class Cars { 
    String carType 
    String car 
} 

컨트롤러 :

def create() { 
    List cars = Cars.list() 
    [dealerInstance: new Dealer(params), cars: cars] 
    render(text:"This site in curently under Maintainence!") 
} 

보기 :

<g:select name="cars.id" from="${cars}" optionKey="${carType}" optionValue="${car}"/> 

<select id="cars.id" name="cars.id"> 
    <option value="com.app.Cars : 1">com.app.Cars : 1</option> 
    <option value="com.app.Cars : 2">com.app.Cars : 2</option> 
    <option value="com.app.Cars : 3">com.app.Cars : 3</option> 
</select> 

나는이 때 다음 :

보기 :

<g:select name="cars.id" from="${cars.car}" optionKey="${carType}" optionValue="${car}"/> 

내가 얻을 내가 목록이 채워 않습니다이 코드를 실행하면

지금 그러나 데이터는 다음과 같습니다 다음 :

<select id="cars.id" name="cars.id"> 
    <option value="Audi">Audi</option> 
    <option value="BMW">BMW</option> 
    <option value="Scoda">Scoda</option> 
</select> 

T 자신이 원하는 정보가 아님이 선택 목록에 다른 키 값 쌍을 설정하여 응용 프로그램 내에서 해당 데이터를 사용할 수있게하려면 다음을 생성해야합니다.

<select id="cars.id" name="cars.id"> 
    <option value="Saloon">Audi</option> 
    <option value="Hatch Back">BMW</option> 
    <option value="Estate">Scoda</option> 
</select> 

누군가 Grails 내에서 이것을 어떻게 달성 할 수 있습니까?

답변

8

이 시도 :

<g:select id="cars.id" name="cars.id" from="${cars}" optionKey="carType" optionValue="car"/> 

를 기본적으로 어떻게됩니까 :

당신이 에서 속성을 사용

이 목록을 통해 태그를 반복 당신은 인수로 전달. optionKey 및 optionValue는 현재 객체에서 액세스하려는 속성을 나타내는 문자열 (반복기에서 액세스 함)이어야합니다.

+0

넵 ...'optionKey'와'optionValue'는 모두 문자열이어야합니다. – doelleri

+0

어떻게 작동 했나요 :) 그러나 지금은 선택 목록이 변경 될 때마다 선택한 항목의 KEY 값을 보여주는 레이블을 만들어야합니까? 나는 JavaScript를 생각하고 있었습니까? – user723858

+0

새로운 질문과 같은 소리가납니다 – doelleri

관련 문제