2009-10-19 4 views
0

나는 쉽고 자연 스럽다고 생각한 일을하려고하지만 나는 고생 중이다.select를 사용하여 다른 컨트롤러의 Show 액션으로 이동하는 방법?

내 웹 사이트의 홈페이지에서 사용자 목록이 포함 된 선택을 원한다. 사용자를 선택하고 버튼을 클릭하면 사용자 컨트롤러 페이지의 표시 동작으로 이동해야합니다.

내가 검색과의 differents 나는 매우 우아 찾을 수없는 답을 발견 : html로

에 URL을 수정하는 observe_field를 사용하여 AJAX http://www.mail-archive.com/[email protected]/msg36368.html

  • 를 사용

    • 을 거기인가 이것을하는 더 좋은 방법?

      가장 좋은 방법은 무엇입니까?

  • 답변

    0

    jQuery를 사용하여이 작업을 수행 할 수 있습니다.

    $("#button_id").click(function(){ 
        window.location = '/users/' + $("#select_list_id").children("option:selected").val(); 
    }); 
    

    단추에 onclick 메서드를 추가 한 다음 '/ user/12345'로 전달해야합니다.

    jquery를 사용하지 않는 경우 일반 자바 스크립트에서 동일한 작업을 수행 할 수 있지만 좀 더 복잡합니다.

    <script type="javascript"> 
        function goToUsersPage() { 
        list = document.getElementById('select_list_id') 
        window.location = '/users' + list.options[selectedIndex].value; 
        } 
    </script> 
    

    그런 다음 버튼의 onclick 메소드에 함수 호출을 추가해야합니다. 대신 그냥 선택 버튼 양식을 만들고 사용자 ID를 가져와 사용자의 페이지로 리디렉션 컨트롤러에서 작업을 할 수 자바 스크립트 사용

    <input type='button' onclick='goToUsersPage();' value='Go!'/> 
    
    +0

    클릭하여 페이지 점프를 시작합니다. 드롭 다운 목록에서 자동으로 어딘가에 나를 데려 갈 때 나는 그것을 싫어한다. 나는 목록에서 많이 잘못한 것처럼 보이고 오른쪽 항목을 클릭 할 때까지 2 ~ 3 페이지가로드 될 때까지 기다린다. 버튼이 있다면 페이지를 새로 고칠 때까지 기다릴 필요가 없습니다. –

    +0

    변화()는 선택 목록에 이벤트를 첨부 할 경우, 클릭을 사용 – Mike

    +0

    예 (change()를 사용하는 것이 좋습니다) – andHapp

    0

    .

    뭔가 같은 :

    def user_form 
        @user = User.find(params[:id]) 
        respond_to do |format| 
        format.html { redirect_to(@user) } 
        end 
    end 
    
    당신은 사용자가이 버튼에 첨부하면 내가 변화() 함수 내 $ 0.02
    관련 문제