2

我正在编写一个函数来动态加载带有内容的 jQuery UI 手风琴叶子。我知道(认为)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 函数,但它仍然不起作用,它也在选择器处损坏。

编辑:
这是 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,或使用此 hack:

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

现场演示

于 2012-06-01T03:31:53.333 回答
0

我想你的问题是 Jquery 没有找到加载 msg 的 div ..发布手风琴 div 以便我可以给你正确的选择器

于 2012-06-01T03:09:50.397 回答