2011-03-29 4 views
0

저는 Ruby on Rails를 사용하여 간단한 웹 애플리케이션을 작성하고 최근에 jQuery 모바일과 함께 전화를 식별하는 사용자 문자열 정규 표현식을 추가했습니다 (Railscast 199 참조).jQuery Navigation - 동일한 뷰, 새로운 내용

지금은 다음과 같은 디자인 문제로 문제가 있습니다. 각각 이전과 다음날에 각각 해당하는 두 개의 링크 (왼쪽 단추와 오른쪽 단추)가있는 머리글이 있습니다. 나는 그들에게 같은 내용으로 링크해야한다. 그렇게하면서, 나는 다음과 같은 coffeescript를 디자인하여 페이지에 매개 변수를 추가했다. 그러면 Rails 앱은 새로운 정보로 식별하고 다시 렌더링한다.

$(document).ready -> 
    m = parseInt $("#main")[0].getAttribute("data-message") 

    $("a#m_previous").click -> 
     move -1 

    $("a#m_next").click -> 
     move 1 

    move = (direction) -> 
     m += direction 
     window.location = '/?data=' + m` 

잘 작동합니다. 앞에서 언급 한 버튼에는 '/'방향의 링크가 있습니다. 하지만 이것이하는 일은 내가 원하는 것처럼 앞으로/뒤로 애니메이션을 완성하는 대신 페이지를 새로 고치는 것입니다. 이를 위해서는 jQuery 모바일이 새로운 페이지로 이동해야합니다.

그럼 내 질문은입니다. 어떻게 앞으로/뒤로 이동하고 동일한 정보로 새보기를 렌더링 할 헤더 단추를 구성합니까?

도움을 주시면 감사하겠습니다.

답변

0

이것이 올바른지 확실하지 않지만 load method을 살펴보십시오. 이 도구를 사용하여 일부 내용을 다른 페이지 요소에로드 할 수 있습니다.

$('#main').load('/?data=' + m + ' #content'); 

이렇게하면 주 div의 콘텐츠가 content 요소로 바뀝니다.

+0

글쎄,이 경우 응답은 전체 페이지입니다. jQuery 모바일을 사용하고 있습니다. 그래서 #content div는 뷰에서 사용하는 모든 것을 래핑하고 링크를 클릭하면 변경됩니다. 따라서 다음과 같이 자바 스크립트를 수정했습니다. - [pastie link] (http://pastie.org/1732932) - 모든 도움을 주시면 감사하겠습니다. – Matt

+0

@Matt, 견적과 # m + '# mobile_view'' 사이에 공백이 없습니다. 또한 pasty http://pastie.org/1732977도 업데이트했습니다. – Vadim

+0

불행히도, 그것은 작동하지 않았다. 그것이하는 일은 '#mobile_view'의 전체 블록을 '로딩'이라고하는 h1로 바꾸는 것입니다. 모든 리소스가 병입되지만 교체 및 전환은 단순히 작동하지 않습니다. 콜백 또는 무언가가 있습니까? 도와주세요! – Matt