2011-01-03 13 views
0

こんにちは。私はこのコードセクションで助けが必要です。ajaxを使用して値を表示する方法

私がしたいことは、ラジオボタン1を(たとえば)クリックすると、そのボタンの値がブラウザに表示されます。私は3つのラジオボタンを持っています。

ここに私のAjaxのクエリの:あなたは、常に機能でajaxResponseを再宣言以来

function updatepayment(this.value)() 
var ajaxResponse = new Object(); 
    $(document).ready(function() { 
    $('.rmr').click(function() { 
    var rbVal = $(this).val(); 
     var myContent; 
     if (ajaxResponse[rbVal]) { //in cache 
      myContent = ajaxResponse[rbVal]; 
      $("#contentcontainer").html(myContent); 
     } 
     else { // not in cache 
     var urlForAjaxCall = "include/function.php" + rbVal + ".html"; 
      $.post(urlForAjaxCall, function (myContent) { 
      ajaxResponse[rbVal] = myContent; 
      $("#contentcontainer").html(myContent); 
      }); 
     } 
     }); 
    }); 
+2

エラーは何ですか? – Chandu

+0

レスポンスはオブジェクトではないようです。 '$。post 'の型として' json'を使用してください。 – jwueller

+0

ブラウザに変更はありません – jeessy

答えて

0
  1. は、あなたのキャッシュチェックは常にfalseとなります。 ajaxResponseはグローバルに宣言する必要があります。
  2. そして、実際には、(あなたのデータを投稿していない)投稿機能が必要なのではなく、単に.load機能を使うことができます。
  3. あなたは

するvar ajaxResponse =新しいオブジェクト()$(ドキュメント).ready関数をラップする機能を必要といけません。

$(ドキュメント).ready(関数(){

$('.rmr').click(function(){ 
    var rbVal = $(this).val(); 
    var myContent; 
    if (ajaxResponse[rbVal]) 
    { //in cache 
     $("#contentcontainer").html( ajaxResponse[rbVal]); 
    } 
    else 
    { // not in cache 
     var urlForAjaxCall = "include/function.php" + rbVal + ".html"; 
     $("#contentcontainer").load(urlForAjaxCall, function (myContent) 
     { 
      //Extra processing can be done here, like your cache 
      ajaxResponse[rbVal] = myContent; 
     }); 
    } 

})。

});

EDIT:あなたは、クラス名「RMR」でラジオボタンを選択しようとしているが、それはあなたが必要 タグに設定されていません あなたのOPにご意見を見た後

<input class="rmr" type="radio" name="rmr" id="payment1" value="3" onclick="updatepayment(this.value)" /> <br> 
<input class="rmr" type="radio" name="rmr" id="payment2" value="5.5" onclick="updatepayment(this.value)" /><br> 
<input class="rmr" type="radio" name="rmr" id="payment4" value="10" onclick="updatepayment(this.value)" /><br> 

またはあなたがそれらを選択する

$("input[name=rmr]")

を使用することができます入力名の属性で指定します

関連する問題