2012-11-17 78 views
0

我有一個問題。下面的腳本工作得不好。問題是當我點擊列表頁面中的鏈接時,我得到詳細信息,但是當我再次點擊時,他刷新2次,當我點擊2次時,他刷新4次,等等。Jquery Ajax .load loops

有人能幫助我,我做錯了什麼?

氪的BA

indexpage

<script src="http://code.jquery.com/jquery-1.8.2.min.js"></script> 
<script src="/admin/js/general.js"></script> 

<div id="content"></div>  
<div id="contentLister"></div> 

的Javascript general.js

$(document).ready(function(){ 
//returns LISTER 
$('ul#ajaxNav li a').click(function() { 
    var page = $(this).attr('href');   
    $('#content').fadeOut().load('classes/cAjaxLister.php'+ page).fadeIn(); 
    return false; 
}); 

//returns Detail 
$('td ul#ajaxLister li a').click(function() { 
    var page = $(this).attr('href');   
    $('#contentLister').fadeOut().load('classes/cAjaxLister.php'+ page).fadeIn(); 

    return false; 
    });  

}); 

李斯特和detailpage

echo '<td> 
     <ul id="ajaxLister" class="actions" > 
     <li><a title="View" class="view" href="?action=view&item=' . $p_UrlItem . '&id=' . $resultId[0] . '">view</a></li> 
     <li><a title="Edit" class="edit" href="?action=edit&item='.$resultId[0].'">edit</a></li> 
     <li><a title="Delete" class="delete" href="?action=delete&item='.$resultId[0].'">delete</a></li> 
     </ul> 
    </td>'; 
    echo '</tr>'.PHP_EOL; 

回答

0

我很抱歉,因爲我也許不太懂行與JavaScript,但問題似乎來自點擊A標籤。你需要在你click功能使用一個event參數,然後防止鏈路從重定向:

$(document).ready(function(){ 
    //returns LISTER 
    $('ul#ajaxNav li a').click(function(event) { 
     event.preventDefault(); 
     var page = $(this).attr('href');   
     $('#content').fadeOut().load('classes/cAjaxLister.php'+ page).fadeIn(); 
     return false; 
    }); 

    //returns Detail 
    $('td ul#ajaxLister li a').click(function(event) { 
     event.preventDefault(); 
     var page = $(this).attr('href');   
     $('#contentLister').fadeOut().load('classes/cAjaxLister.php'+ page).fadeIn(); 

     return false; 
     });  

    }); 

http://api.jquery.com/event.preventDefault/