0

私のphpページに他のphpページのコンテンツを表示する優れた「gotHtml」コードがあります。しかし、これらの「href」を「index.php」から呼び出したい場合、正常に動作する「service.php」ではなく、ページとコンテンツを読み込めません。アイデアはありますか?

/here is the php part
<p id="serv-tabs">
<a href="#serv/acse">Accounting Services</a><br/>
<a href="#serv/compA">Company Administration</a><br/>
 ........
 ........</p>

<div id="serv-content"> 
.....
</div>


/here is the script
$(document).ready(function() {
$("#serv-tabs a").click(function() {
    var page= this.hash.substr(1);
    $.get(page+".php",function(gotHtml) {
        $("#serv-content").html(gotHtml);
    });
    return false;
});});
4

1 に答える 1

1

そこでは使用できませんsubstr()。ページ名を分割して、/2 番目の値を使用する必要があります。

$(document).ready(function() {
    $("#serv-tabs a").click(function() {
        var page = this.hash.split('/');
        $.get(page[1]+".php",function(gotHtml) {
            $("#serv-content").html(gotHtml);
        });
        return false;
    });
});

同じ原則でロードservice.phpしていると思います。その場合、新しい要素のクリックをバインドするためにバインドを再初期化する必要があります。

function reBind(element, content){
    $("#"+element+" a").click(function() {
        var page = this.hash.split('/');
        $.get(page[1]+".php",function(gotHtml) {
            $("#"+content).html(gotHtml);
        });
        return false;
    });
}

$(document).ready(function() {
    $("#page-tabs a").click(function() { // assuming your service.php is called in same way like subpages in services are called, I've added page-tabs as main pages
        var page = this.hash.split('/');
        $.get(page[1]+".php",function(gotHtml) {
            $("#page-content").html(gotHtml);
        }).success(function(){
            if(page[1] == 'service'){
                reBind('serv-tabs', 'serv-content');
            }
        });
        return false;
    });
});
于 2012-09-20T18:19:28.003 に答える