2012-10-27 3 views
0

제 생각은 div의 내용을 다른 div에 html로로드하는 것입니다. 즉, 새로운 Facebook받은 편지함이 어떻게 작동하는지, 오른쪽에서 메시지를 클릭 할 때, 내용을보고 데이터베이스에서 가져 와서 가운데 ​​열에로드 할 때를 배우고 싶습니다. 일부 AJAX에서 수행 한 작업은 가능할 수도 있지만 가능한 작업을 파악할 수 없다는 것을 알고 있습니다.DIV에 onclick, 다른 div의 데이터베이스에서 내용로드

미리 감사드립니다.

+0

ajax.php : http://stackoverflow.com/questions/1313813/using-jquery-ajax-to-load-info-from-database – salih0vicX

+0

나는 세부 묘사를 원해. 나는 이것에 초보자이다. – user1731476

답변

1

jquery를 사용하는 경우 div에서 onclick 이벤트를 사용할 수 있습니다.

이것은 HTML/JS와 같은 작업입니다.

<!doctype html> 
<html> 
    <head> 
     <title>Document Title</title> 
     <script src="http://code.jquery.com/jquery-1.8.2.min.js"></script> 
     <script> 
      $('.clickable').on('click', function(){ 
       var data_id = $(this).data('id'); 
       $.ajax({ 
        url: 'ajax.php', 
        type: 'POST', 
        data: {id: data_id}, 
        dataType: 'json', 
        success: function(data){ 
         $('#more-info').html(data.html); 
        }, 
        error: function(jqXHR, textStatus, errorThrown){ 
         $('#more-info').html(''); 
         alert('Error Loading'); 
        } 
       }); 
      }); 

      }); 
     </script> 
    </head> 
    <body> 
     <div id="item-one" class="clickable" data-id="123">Click me</div> 
     <div id="item-two" class="clickable" data-id="456">Click me</div> 
     <div id="more-info"></div> 
    </body> 
</html> 

우리가 아약스 기능의 이전 especified처럼 우리가 JSON을 반환합니다 ajax.php 라는 이름의 PHP 파일이 있다고 가정 해 보자 dataType와 'JSON'은 우리가 POST를 통해 ID을 보내는 여기에 예제가 있습니다.

당신은 여기에 대한 답을 찾을 수 있습니다

<?php 
$id = (int)$_POST['id']; 
$query = "SELECT * FROM messages WHERE message_id = {$id} LIMIT 1"; //expecting one row 
$result = mysql_query($query); 
$message = mysql_fetch_assoc($result); //expecting just on row 

$json = array(); 
$json['html'] = '<p>' . $message . '</p>'; 

header('Content-Type: application/json'); 
echo json_encode($json); 
?> 
+0

div ID는 매번 변경됩니다. 내가 while 루프를 사용하여 오른쪽 패널의 모든 메시지를로드하기 때문에 동일하게 될 수 있습니다. – user1731476

+0

more-info는 오른쪽 패널을 나타내며,이 경우'$ message'는 하나의 메시지입니다. while 루프를 사용하여 메시지를 배열에로드 할 수 있습니다. '$ (element) .html (val)'을 사용하는 대신'more-info' 엘레멘트'append' 안에'$ (element) .append (val)'을 사용하고 간단한'

' – Welling

+0

한 번 메시지를 클릭하면 콘텐츠가로드 될 것입니다. – user1731476

관련 문제