0

Jqueryを書こうとしています。codeigniterのAjax。ただし、コンテンツは投稿されず、リンクをクリックするとすべてのページが最初から読み込まれるため、すべての開始アニメーションが再び表示されます。
私のajax.jsはheader.phpヘッドセクション内にあります:

$("#sidebar-content ul li a").click( function(e){
   e.preventDefault();
   var target_url = $(this).attr('href');
   $.ajax({
       url: target_url,
      type: 'POST',
      data: target_url,
   success: function(response) {
                $('#content').html(response.msg);
            }
   });
return false;
});

Menu.phpファイルは:

<!-- SIDEBAR -->

<div id="sidebar">
    <div id="sidebar-content">
            <!-- MENU -->
       <ul id="menu">
         <li class="current"><a href="<?php echo site_url('home'); ?>">ANASAYFA</a></li>
         <li><a href="<?php echo site_url('about'); ?>">HAKKIMIZDA</a></li>

メインページのコンテンツ分割のみを変更したい。コードを修正するにはどうすればよいですか?

編集1:

これは現在機能します。しかし、私は#contentの代わりに#pageを使用する必要がありました。

$("#sidebar-content ul li a").click( function(e){
     e.preventDefault();
     $('#page').load(this.href);
     return false;
});
4

3 に答える 3

2

return falseイベントの最後に置く必要があると思いますclick-

$("#sidebar-content ul li a").click( function(e){
     // your existing stuff here

     return false; // or e.preventDefault();
});

これが完全なコードですこれを試してください

$("#sidebar-content ul li a").click( function(e){
     e.preventDefault();
     $('#content').load(this.href);
     return false;
});
于 2012-08-05T16:06:03.370 に答える
0

コンテナにコードをロードするには、loadメソッドを使用する必要があります。何かのようなもの:

$( "#content" ).load( "your url here" );

ドキュメントを見てください:http://api.jquery.com/load/

「a」タグを削除し、たとえばスパンを使用します。ハイパーリンクはトリガーされず、伝播を停止することはありません。「a」の代わりに使用:

<span data-url="your url...">link</span>

また、スパンをクリックしてロードを実行すると、「data-url」属性が取得されます。

于 2012-08-05T16:02:58.837 に答える
0

試す;

必ずjqueryを次のようにリンクしてください。

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js">

また

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js">

javascriptを中にラップします。

$(document).ready( function() {

});

コードを実行するためのWebページの部分の内部。

$('#content').text(response.msg);

それ以外の

$('#content').html(response.msg);
于 2012-08-05T16:18:58.870 に答える