2011-09-11 13 views
1

私はコールバックページ(php)からデータを取得して、jQueryモバイルでhtml divにロードしようとしています。これは、ユーザーが別のdivをクリックした場合に発生します。 #home-buttonはイベントと#displayContentコンテンツが中に入れるべきであるdiv要素をトリガーするdiv要素がある場合は、私が実際に得たものjQueryモバイルでdivをクリックしてページコンテンツをリクエストする方法は?

$.('#home-button').bind('vclick', function(e) { 
    $.get('homeCallback.php',function(data){ 
     $('#displayContent').append(data).trigger('create'); 
    },'html'); 
}); 

です。 要求はあまりにも、いくつかのパラメータを渡すことができるはずです。 homeCallback.php?param=1と同様ですが、postメソッドを使用することもできます。 コールバックはhtmlのみでなくてもよく、コールバックphpスクリプトがJSONデータなどを提供する可能性もあります。

私はJSの亀裂ではないので、私はこの問題を解決するための問題があります。ご協力いただきありがとうございます!

編集: だから私は自分で解決策が見つかりました:

$(document).ready(function() { 
    $.ajaxSetup ({ 
     cache: false 
    }); 

    var ajaxLoader = '<img src="images/ajax-loader.gif" alt="loading.." />'; 
    var loadUrl = "homeCallback.php"; 

    $('#home-button1').click(function(){ 
     $('#displayContent').toggle('fast', function() { 
      $(this).html(ajaxLoader); 
      $(this).toggle('fast', function() { 
       $.get(loadUrl + '?option1',function(data){ 
        $('#displayContent').html(data); 
       },'html');     
      }); 
     }); 
    }); 

    $('#home-button2').click(function(){ 
     $('#displayContent').toggle('fast', function() { 
      $(this).html(ajaxLoader); 
      $(this).toggle('fast', function() { 
       $.get(loadUrl + '?option2',function(data){ 
        $('#displayContent').html(data); 
       },'html');     
      }); 
     }); 
    }); 
}); 

をそして、これはhomeCallback.phpは、単に何をするか..ですこれまで

<?php 
if(isset($_GET["option1"])) 
    echo "option1"; 
if(isset($_GET["option2"])) 
    echo "option2"; 

。大丈夫ですが、私はあなたがあなたのアプリケーションにページを追加することを計画している場合は特に、かなり `$(文書).ready`よりも、適切なjQMページのイベントを使用して検討したい

+0

。 – Ben

答えて

0
$.('#home-button').bind('click', function() { 
    $.ajax({ 
     url: "homeCallback.php", 
     type: "POST", 
     data: ({param: 1, param2: 2}), 
     success: function(html){ 
      $("#displayContent").html(html); 
     } 
    }); 
}); 
+0

あなたの答えをありがとう、私は自分で解決策を見つけました。ここに投稿します。 – dnl