折叠面板时阻止服务器调用

时间:2014-05-09 14:55:55

标签: jquery

我有一个名为loadData()的函数,它放在$(document).ready()中。这会调用ASP.NET C#WebMethod,使用服务器端处理填充.netDataTables表。

我已在页面顶部添加了一个引导程序面板,其中有一个可点击的区域可折叠并显示.panel-body。现在,每次单击图标切换面板主体时,我都会通过触发loadData()方法向服务器发送请求。

这是我的代码:

HTML

<div class="col-lg-4">
    <div class="panel panel-default">
        <div class="panel-heading">
            <div class="panel-title">
                Profile
            </div>
            <span class="pull-right clickable" data-toggle="tooltip" data-original-stitle="Toggle Summary">
                <i class="glyphicon glyphicon-chevron-up"></i>
            </span>
        </div>
        <div class="panel-body"></div>
    </div>
</div> 

的jQuery

$(document).ready(function () {

    $('#summary').on('click', '.panel-heading span.clickable', function (e) {
        e.preventDefault();
        var $this = $(this);
        if (!$this.hasClass('panel-collapsed')) {
            $this.parents('.panel').find('.panel-body').slideUp();
            $this.addClass('panel-collapsed');
            $this.find('i').removeClass('glyphicon-chevron-up').addClass('glyphicon-chevron-down');
        } else {
            $this.parents('.panel').find('.panel-body').slideDown();
            $this.removeClass('panel-collapsed');
            $this.find('i').removeClass('glyphicon-chevron-down').addClass('glyphicon-chevron-up');
        }
        oMessageDate.fnAdjustColumnSizing();
    });
    $('[data-toggle="tooltip"]').tooltip();

    LoadData();

});

function LoadData() {
    var sender = "<%= ddBICS.SelectedValue %>";
    $.ajax({
        type: "POST",
        url: "Default.aspx/LoadData",
        cache: false,
        data: JSON.stringify({
            sender: sender
        }),
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        error: function (xhr) {

            var contentType = xhr.getResponseHeader("Content-Type");
            if (xhr.status === 401 && contentType.toLowerCase().indexOf("text/html") >= 0) {
                window.location.reload();
            }
        },
        success: function (msg) {

        }
    });
}

如何在不启动loadData()的情况下触发切换?

0 个答案:

没有答案