-1

loadData() 関数を使用して PHP スクリプトからデータを取得し、別の関数を使用してデータベースから検索します。すべて正常に動作しますが、検索結果をクリックすると、データが読み込まれません。これが私が使用しているjquery関数です。

//Gets Data
function loadData(id)
{
loading_show();
$.ajax({
      url: "load_data.php",
      type: "post",
      data: "id="+id,
      success: function(data){
            loading_hide();
           $("#container_wrap_metro").html(data);
      },
      error:function(){
          alert("failure");
          $("#container_wrap_metro").html('Unable to process request!');
      }  
    }); 
}


//Search
$(function(){
  $("#result").keyup(function(){
    var q = $(this).val();
    $.get("results.php?q="+q, function(data){
    if(q){
        $(".side_container").html(data);
    } 
    else {
        $(".side_container").html("");
    }
  });
});
$('#b').live('click',function(){
  var page = $(this).attr('p');
  loadData(page);
  }); 
});
4

5 に答える 5

3

.live() は推奨されていないため、.live() の代わりに .on() を試すことができます。

http://api.jquery.com/live/ & http://api.jquery.com/on/

于 2013-05-03T11:02:28.233 に答える
3

答えは次のとおりです。

$(document).on('click','#b',function(){...}); //live equivalent

ただし、最も近い静的コンテナーを使用することをお勧めします。

$('#container_wrap_metro').on('click','#b',function(){...});
于 2013-05-03T11:06:14.847 に答える
0

どの jQuery バージョンを使用していますか? live 関数は廃止される可能性があります。代わりに .on() を使用するか、直接 .click() を使用しますか?

于 2013-05-03T11:02:14.670 に答える
0

() は非推奨であるOnため、 () を使用してください。live

$(document).on("click", "a.foo", fn);  //here a.foo is target

http://jquery.com/upgrade-guide/1.9/#live-removed

于 2013-05-03T11:03:11.187 に答える
0

live を on に置き換えましたが、うまくいきません。.delegate() を使用できます

私の場合、動的に読み込まれるコンテンツにクリックを書き込みました。JQuery ライブラリを更新すると、ライブが機能しなくなり、今日デリゲートに置き換えられました。

詳細については、https ://api.jquery.com/delegate/ を参照してください。

于 2014-03-11T10:43:07.283 に答える