2

jQueryUIアコーディオンリーフにコンテンツを動的にロードする関数を作成しています。私が持っている別の動作中のAJAXローダーからAJAXパーツを持ち上げたときに、AJAXパーツが機能することは知っていますが、機能全体が機能しません。

コード:

    function load_leaf(link){
    var link = link;
    $.ajax({
            cache : false,
            type : 'POST',
            async: false,
            url : 'includes/'+ link +'.php?'+ new Date().getTime(),
            dataType : 'text',
            data: {
                owner : '$user_id'
            },
            success: function(msg){
                $("#" + link).html(msg);
                console.log('Can\'t see me in Chrome, but ok in firefox !')
            },
            error: function() {
                console.log($.makeArray(arguments));
            },
            complete: function() {
                console.log($.makeArray(arguments));
            }

    });
};
$(function(){
    $('.accordian').click(function(){
        var link = this.getAttribute("link");
        load_leaf(link);
    });
});     

何らかの理由でこれは機能しません。
$("#" + link).html(msg);
ハードコードされたセレクターは完全に機能するため、ブレークポイントはこの行のようです。具体的にはセレクターです。リンク変数は正しく入力されています。値を正しくアラートできるので、これを知っています。ajax関数全体を単純なaddクラスに置き換えたのですが、それでも機能せず、セレクターでも壊れたため、リンクは問題ではありません。

編集:
これはphpによって印刷されたdivです:

<h3 class="accordian" id="'.$tab_id.'" link="'.$tab_link.'" >
 <a href="#">'.$tab_name.'</a>
</h3>
<div id="'.$tab_link.'"><p>Hi</p></div>

最初のもののhtmlは次のとおりです。

 <h3 class="accordian" id="accordian_manage.php" link="accordian_manage.php" ><a href="#">Manage Images</a></h3><div id="accordian_manage.php"><p>Hi</p></div>
4

2 に答える 2

1

IDにはピリオド.が含まれており、jQueryはこれを連鎖クラスセレクターとして解釈します。

リンク/IDを変更するか、次のハックを使用できます。

$("[id='" + link + "']");

ライブデモ

于 2012-06-01T03:31:53.333 に答える
0

私はあなたの問題はJqueryがメッセージをロードするためのdivを見つけていないことにあると思います..私があなたに適切なセレクターを与えることができるようにアコーディオンdivを投稿してください

于 2012-06-01T03:09:50.397 に答える