0

私は問題があります。以下のスクリプトはうまく動作しません。問題は、リスター ページのリンクをクリックすると詳細が表示されることですが、もう一度クリックすると 2 回更新され、2 回クリックすると 4 回更新されます。

誰かが私が間違っていることを助けてくれますか?

Kr BA

索引ページ

<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;
    });     

});

リスタと詳細ページ

    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;
4

1 に答える 1

0

JavaScript についてあまり詳しくないので申し訳ありませんが、問題は A タグをクリックしたことが原因のようです。event関数でパラメーターを使用してclick、リンクがリダイレクトされないようにする必要があります。

    $(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/

于 2013-02-26T17:36:35.217 に答える