2009-06-07 5 views
2

내가 사업부 상자에 결과를 표시하는 간단한 메뉴 설정에 어려움을 겪고있어 :간단한 아약스의 onclick 질문

내가 데이터를 반환 내 서버에 PHP 파일에 링크 10 개 링크 목록을 가지고 있습니다. 뷰어가 링크 중 하나를 클릭하면 PHP 파일의 데이터가 화면의 div 상자에 표시되고 다른 링크를 클릭하면 해당 PHP의 데이터가 표시됩니다. div 상자에 파일 (이전 텍스트 대체).

나는 이것이 매우 간단하다는 것을 알고 있지만 작동시키지 못한다. jQuery를 사용하고 있으며 빠른 해결책이 있는지 알고 싶습니다.

감사합니다.

업데이트 : 저는 거의 자바 스크립트 코드에 실패했습니다. 그러나 프레임 워크의 기본 아이디어는 다음과 같습니다.

<div class="tabs"> 
     <ul class="tabNavigation" style="float:left; padding:1px;"> 
      <li><a href="#displayphpfile">Load phpfile1</a></li> 
      <li><a href="#displayphpfile">Load phpfile2</a></li> 
      <li><a href="#displayphpfile">Load phpfile3</a></li> 
     </ul> 
     <div id="displayphpfile"> 
      <p>Load phpfile1</p> 
     </div> 
    </div> 
+2

해당 질문과 관련된 모든 코드가 있습니까? ;) – tom

답변

8

jQuery에는이를 수행하는 특정 방법 인 load()가 있습니다.

나는 조금 생각하여 예를 바꿀 것, 그래서 링크의하는 HREF는 PHP 파일을 가리 키는 :

<div class="tabs"> 
    <ul class="tabNavigation" style="float:left; padding:1px;"> 
     <li><a href="phpfile1.php">Load phpfile1</a></li> 
     <li><a href="phpfile2.php">Load phpfile2</a></li> 
     <li><a href="phpfile3.php">Load phpfile3</a></li> 
    </ul> 
    <div id="displayphpfile"> 
     <p>Load phpfile1</p> 
    </div> 
</div> 

그런 다음 코드는 매우 간단하다 :

$(document).ready(function() { 
    $(".tabNavigation a").click(function() { 
     $("#displayphpfile").load($(this).attr("href")); 

     return false; 
    }); 
}); 
2

테스트 해보지는 않았지만 원하는 결과에 근접합니까?

<script type="text/javascript"> 
    $(document).ready(function() { 
     $('a').click(function() { 
      var file = $(this).text().toLowerCase() + '.php'; 
      $.ajax({ 
       url:file, 
       cache:false, 
       success: function(response) { 
        $('#data_goes_here').html(response); 
       } 
      }); 
      return false; 
     }); 
    }); 
</script> 
<ol> 
    <li><a href="#">Foo</a></li> 
    <li><a href="#">Bar</a> 
    <li><a href="#">Baz</a></li> 
</ol> 

<div id="data_goes_here"></div> 
+0

네, 그게 내가 원하는 것입니다. 나는 그것이 일하는 것을 얻지 않고있다. – chris

+0

파이어 폭스를 아직 설치하지 않았다면 (파이어 폭스의 자바 스크립트 콘솔보다 훨씬 뛰어나다.) 파이어 버그를 설치하고 js 오류 출력을 보자. –

+0

흠, 오류는 나타나지 않지만 PHP 파일을로드하지 않습니다. 나는 내가 뭔가 잘못하고 있다고 생각해. – chris

0

두발 상어 호출 click 요소 안에 document.ready!

<script type="text/javascript"> 
    $(document).ready(function() { 
     $('a').click(function() { 
      var file = $(this).text().toLowerCase() + '.php'; 
      $.ajax({ 
        url:file, 
        cache:false, 
        success: function(response) { 
          $('#data_goes_here').html(response); 
        } 
       }); 
      return false; 
      }); 
     }); 
</script> 

그러나 부하 방법은 훨씬 청소기 코드 :

그것은해야합니다.

+0

수정 됨; 그것을 잡아 주셔서 감사합니다. load() 메소드는 Ajax 기본 설정 (예 : 캐싱 없음)에 신경 쓰지 않는 한 정말 바람직하지 않습니다. –