2014-02-06 2 views
0

컨트롤러에서 g:select에 기본값을 설정하는 방법은 무엇입니까? 예를컨트롤러에서 g.select 렌더링

의 이름의 내 목록에서 여기에 양식을 제출 한 후 내 목록 ["peter","josh","john","thomas"]

render g.select(name:'selectName', 
       from:listOfName, 
       optionKey:'id', 
       optionValue:'name', 
       value:'john') 

의 경우 g : 그것은 여전히 ​​피터 첫 번째 목록에 설정되어 다시 선택합니다. 어떻게 선택의 기본값을 얻는 지 모르겠거나 g의 onComplete 태그에 값을 가져 오는 방법을 모르겠다. select

답변

1

예제에서 왜 목록에서 첫 번째 값을 선택하는지 이유를 살펴 본다. optionKey는 "id"의 optionKey이고 "value"는 optionValue로 표시되기 때문입니다. "값"에는 optionValue가 아닌 선택한 옵션의 "id"가 포함되어야합니다.

<g:select name="selectName" from="${[['id': 2, 'name': 'Bob'], ['id': 1, 'name': 'Joe']]}" optionKey="id" optionValue="name" value="1" /> 

이 UPDATE가가 (당신이 당신의 질문에 자세한 정보를 추가하고 변경하기 때문에) 당신의 선택의

optionKey과 optionValue를 설정 필요하지 않은 : 여기

이를 설명하는 예입니다 . 새로운 예제에서는 다음을 사용하십시오.

render g.select(name:'selectName', 
       from:listOfName, 
       value:'john') 
+0

아아 네 오른쪽. 코드가 맞을 수도 있습니다. 예를 들어 컨트롤러에 g.select 키와 값 사이에 혼란이있었습니다. 나는 그것을 올바르게 얻었다. – oczdref

관련 문제