2016-03-30 16 views
0

この例ではJquery Ajaxをどのように実装するのですか?成功のためにJquery Ajaxを実装する方法は?

[Getcatが完了しました]をクリックします。類似しているが、Cat 1、Cat 2をクリックすると失敗する。

私はそれが簡単だと確信していますが、ここでもいくつかの基本を学んでいます。おかげ

これはこれは、index.phpの

 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
    <script> $('.catget').click(function() { 
var id = $(this).parent().data('id'); 
      $.ajax({ 
      url: 'cat.php', 
      data: { 
       "id": id 
      }, 
      type: 'post', 
      success: function(result) { 
       var $response = $(result); 
       var cat = $response.filter('.cat').html(); 
       $('.catsub').html(cat).fadeIn(700); 
      } 
      }); 
     });</script> 
     <div data-id="1" class="catget">Getcat</div> 
     <div class="catsub">Cat List</div> 

実行コードスニペットあるcat.php

<div class="cat"> 
    <div data-id="4" class="catget">Cat 4</div> 

    <div data-id="5" class="catget">Cat 5</div> 

    <div data-id="6" class="catget">Cat 6</div> 

    <div data-id="7" class="catget">Cat 7</div> 

    <div data-id="8" class="catget">Cat 8</div> 
</div> 

です。

$('.catget').click(function() { 
 
    var id = $(this).parent().data('id'); 
 
    $.ajax({ 
 
    url: 'cat.php', 
 
    data: { 
 
     "id": id 
 
    }, 
 
    type: 'post', 
 
    success: function(result) { 
 
     var $response = $(result); 
 
     var cat = $response.filter('.cat').html(); 
 
     $('.catsub').html(cat).fadeIn(700); 
 
    } 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 

 
<div data-id="1" class="catget">Getcat</div> 
 
<div class="catsub">Cat List</div>

+0

なぜ 'VARのID = $(この).parent()データ( 'ID')を使用;'私はあなたが 'VARを使用するべきだと思います。 '.catget'が親ではない' data-id'を持っているので – guradio

+0

あなたは '.parent()'を必要としません...それを削除してください。id = $(this).attr( 'data-id'); ..これは次のようになります... 'var id = $(this).data( 'id');' –

+0

はい、ありがとうございます。 しかし** cat.php **が返され、div ** catsub **に置き換えられた場合、クリックは機能しません。 私はそれが簡単だと確信していますが、ここでも基本のいくつかを学んでいます。ありがとう。 – PVS5011

答えて

1

あなたが子供のIDを取得しているので、あなたが実際にそこに親を必要としません。..

ここフィドルです: https://jsfiddle.net/xojzghfv/

あなたが何かを必要としますあなたの新しい要素が機能するために、このように。

あなたは参照目的のためにこれを読むことができます:https://learn.jquery.com/events/event-delegation/

$(document).on('click', '.catget', function(){ 
    var id = $(this).data('id'); 
    //insert the rest of your code here.... 
}); 
+0

を返します。ありがとうございます。 しかし** cat.php **が返され、div ** catsub **に置き換えられた場合、クリックは機能しません。 私はそれが簡単だと確信していますが、ここでも基本のいくつかを学んでいます。ありがとう。 – PVS5011

+0

@ PVS5011あなたは新しい 'subcat'を追加しますか?それをクリックすると動作しませんか? –

+0

** cat.php **の新しい** catsub **が返されて表示されていることを認識できないと思います。 ** cat.php **の新しい** catsub **を認識する方法 – PVS5011

関連する問題