2010-02-04 2 views
1

< g에서 selectedIndex를 어떻게 설정합니까? > 태그를 목록의 값으로 선택 하시겠습니까? 레코드를 추가 할 수있는 페이지가 있습니다. 그런 다음 페이지가 g : select를 포함하는보기로 이동하고 g : select가 데이터베이스에 삽입 된 항목을 기본값으로 설정하길 원합니다.Grails g : 선택 설정 selectedIndex

플래시에서 새 객체를 전달하려고했지만 g : select 데이터를 생성하는 데 사용되는 목록에서 색인을 가져 오는 방법을 알 수 없습니다. 당신이 컨트롤러 수준에서 flash.book에서 책의 객체를 저장할 가정하면

답변

2

, 두 번째 페이지는 다음과 같이 수 :

<html> 
    <head> 
     <g:javascript library="prototype" /> 
     <g:javascript> 
       function showLast(selectedId) { 
        if (selectedId) { 
        $$('#books option[value=' + selectedId + "]")[0].selected = true; 
        } else { 
        $('books').selectedIndex = 0; 
        } 
       }; 

       Event.observe(window, 'load', init, false); 

       function init() { 
        showLast(${flash?.book?.id}); 
       } 
      </g:javascript> 
    </head> 
    <body> 
     <g:select id="books" name="id" 
        from="${Book.list()}" 
        value="title" 
        optionValue="title" 
        optionKey="id" 
     /> 
    </body> 
</html> 
+0

최고 작품 완벽하게, 내가 $와 jQuery를에 적응 ('#의 fileSelect') .val ($ {flash? .upload? .id}); – TripWired

+0

차가움. 방금 뭔가 생각했습니다. 플래시 범위 때문에 페이지를 새로 고침하면 선택을 잃어 버리게됩니다. Maybie 숨겨진 필드에 값을 저장하는 것이 처음에는 페이지에 들어가서 다음 페이지 새로 고침에서 읽는 것이 더 낫습니다. – Philippe