2013-03-08 2 views
5

를 선택 나는이 HTML로 변환 <g:select/>를 사용하여 선택 상자를하고 싶습니다 페이지가 다시로드 될 때 bean.:</p> <pre><code><select id="myselect" name="myselect"> <option value="r">RED</option> <option value="g">GREEN</option> <option value="b">BLUE</option> </select> </code></pre> <p>내가 값에서 미리 선택되는 것 또한 같은 :

각 행마다 별도의 옵션 상자가있는 테이블이 있으므로이 작업을 수행합니다.

나는 현재 아래의 HTML이 달성 해요 :

<g:each in=${mylist} status="i" var="myInst"> 
    <select id="status${myInst}" name="status${myInst}" data-id="${myInst.id}"> 
     <option value="r" <g:if test="${myInst.color == "r"}">selected</g:if>>RED</option> 
     <option value="g" <g:if test="${myInst.color == "g"}">selected</g:if>>Green</option> 
     <option value="b" <g:if test="${myInst.color == "b"}">selected</g:if>>BLUE</option> 
    </select> 
</g:each> 

이 모두 잘 작동하지만 당신은을 선언해야 못생긴 <select><g:select>

답변

8
<g:select id="myselect" name="myselect" value="${myInst.color}" 
      from="${['r': 'RED', 'g': 'GREEN', 'b': 'BLUE']}" 
      optionKey="key" optionValue="value" /> 
+2

그러나, 이와 같은 작업을 수행하려는 경우 taglib을 사용하여 "selectColor"태그를 만드는 것이 좋습니다. 그들이 GSP에있을 때이 모든 마법 상수를 어디에 넣으려고하는 것은 최적이 아닙니다. 또한 taglib를 테스트하는 것이 훨씬 쉽습니다. – billjamesdev

-1

에 내가 변경하려면 "myselect"는 도메인 클래스 내부에 있습니다. 나는 이것에 대해서도 곤란을 겪어 왔지만, 나는 당신보다 2 주 정도 앞섰다. how do I write a set for g:select tag

+0

hmmm @ Andrew의 대답이 나를 위해 일했습니다 ... – Anthony

+0

@Sharma 그의 "from"이 성명에 내장되어 있기 때문에 대답이 효과가있었습니다. 이것은 g : select를 사용하는 일반적인 방법이 아닙니다. 사실상 GSP 내부에서 select 문을 하드 코딩하는 것이었다면 g : select를 사용하여 얻을 수있는 이점은 없습니다. 일반적으로 g : select를 사용하여 데이터베이스 또는 도메인 클래스 (또는 응용 프로그램 계층) 내부의 하드 코딩 된 값에서 "from"항목을 검색 할 수 있습니다. 말할 것도없이, grails에 익숙하지 않은 사람들을위한 가독성을 감소시키지 않습니다. –

+0

왜 이것이 계속 하향 선회되고 있는지 혼란 스럽습니다. 사람들은 게으르다가 아무 것도 설명하지 않고 downvote하게했습니다. –

관련 문제

 관련 문제