为什么Ajax第2次点击没有填充DIV?

时间:2018-09-02 07:39:46

标签: javascript jquery ajax tabs

我正在从TAB div内的URL加载数据,在第一次请求/单击时成功加载数据,但在第二次请求/单击时成功加载到目标链接,而没有填充目标DIV

锚点:

<li><a data-toggle="tabAjax" href="http://site.cx/admin/get-coach-stylish-view?userId={{userId}}" id="ajax_tab" class="media_node active span" data-target="#coach-view-stylish-ajax" rel="tooltip">Coach View (Stylised)</a></li>

使用数据填充的分区:

<!-- Coach View Stylised -->
<div id="coach-view-stylish-ajax">
</div>
<!-- Coach View Stylised End -->

JS:

<script>

$('[data-toggle="tabAjax"]').click(function(e) {
    e.preventDefault();
    var $this = $(this),
        loadUrl = $this.attr('href'),
        target = $this.attr('data-target');

    $.get(loadUrl, function(data) {
        $(target).html(data);
    });

    $this.tab('show');
    return false;
});

</script>

1 个答案:

答案 0 :(得分:0)

1-尝试在代码中放入调试器,并确保第二次单击该代码已被调用。如果不是,则需要重新绑定click事件。

2-您可以尝试这种方式

<li><a data-toggle="tabAjax" href="#" data-href="http://site.cx/admin/get-coach-stylish-view?userId={{userId}}" id="ajax_tab" class="media_node active span" data-target="#coach-view-stylish-ajax" rel="tooltip">Coach View (Stylised)</a></li>

make href =“#”并将网址存储在data-href =“ ...”

以及您的javascript

<script>

$('[data-toggle="tabAjax"]').click(function(e) {
    e.preventDefault();
    var $this = $(this),
        loadUrl = $this.attr('data-href'), //change href to data-href
        target = $this.attr('data-target');

    $.get(loadUrl, function(data) {
        $(target).html(data);
    });

    $this.tab('show');
    return false;
});

</script>