2014-07-23 4 views
0

jQuery 모바일을 사용하고 있습니다. 내가 뭘 하려는지 사용자가 <li> 요소를 클릭하면 링크 된 페이지로 그를 전송 한 다음 그가 클릭 한 목록 요소의 텍스트가 포함 된 경고를 표시합니다. Unforunately, 여기 내 구현은 당신이 "이"올바른 참조를 얻을하는 데 사용할 수있는 빈 경고 상자를jQuery에서 요소의 텍스트 값을 가져와야합니다.

<script> 
var course; 

$('body').on('click','.hello',function(){ 
    course = $(this).text(); 

}); 

    function loadCourse(){ 

    alert(course); 

    $.get(
     "getCourses.php?course="+course, 
     function(data){ 
      $('#list1').html(data) 
      .listview('refresh'); 
     } 
     );  
    } 

$(function(){ 
    $(":mobile-pagecontainer").on("pagecontainershow", function(event, ui) { 
    if(window.location.href.indexOf('#page1') !== -1){ 
     loadCourse(); 

    } 
    }); 
}); 

</script> 
<div data-role="page" id="abc"> 
    <ul data-role="listview" data-theme="a" data-split-theme="b" data-split-icon="plus" data-inset="true"> 
    <li class="hello"><a href="#page1">Hello World</a></li> 
    <li class="hello"><a href="#page1">Bye Bye</a></li> 
    </ul> 
</div> 
<div data-role="page" id="page1"> 
    <ul data-role="listview" data-theme="a" data-split-theme="b" data-split-icon="plus" data-inset="true" id="list1"> 
    </ul> 
</div> 

답변

0

표시됩니다.

$(function(){ 
    $('li').click(function(e){ 
     alert($(this).text()); 
    }); 
}); 

jsfiddle : http://jsfiddle.net/CMt9h/3/

당신은 또한 대상을 얻을 수있는 이벤트 인수를 사용할 수 있습니다

$(function(){ 
    $('li').click(function(e){ 
     alert($(e.target).text()); 
    }); 
}); 

jsfiddle : http://jsfiddle.net/CMt9h/4/

2

귀하의 경고 상자가 비어 있기 때문에 변수 코스는 가치가 없습니다!

왜?

링크를 클릭하면 페이지가 다시로드됩니다. 코스 변수는 비어 있습니다. 변수 값은 다음 요청을 위해 저장되지 않기 때문입니다. HTTP는 상태 비 저장입니다!

무엇을할까요? 페이지가 다시로드되지 않아야합니다. 뭔가를 시도 : AndiPower으로

$('li').click(function(e){ 
    alert($(this).html()); 
    return false; 

}); 
0

는 물론 변수로 인해 페이지를 다시로드에 비어 말했다. 이 페이지를 다시로드를 원하지만, 여전히 다음 페이지에서 선택한 값을 표시 할 경우에 당신은 할 수 있습니다 :

  • 서버에 값을 제출하고 URL 매개 변수로 추가 JS 준비
  • 에로드 href으로 이동하여 준비하십시오.
  • 쿠키로 저장하십시오.
관련 문제