jQuery的时候()()完成不为我工作(jQuery when().done() don'

2019-10-17 00:54发布

我有以下的jQuery代码,但when().done()预期对我不起作用。 该updateResultFooter()被调用bedore的doReverseSearch()方法完成她的工作。 而作为一个结果,在我看来,一个按钮启用,并且之后再重新把他的默认值(desabled) replacedoReverseSearch()方法。

$("#idBnSearch").click(function () 
{
    $.when(doReverseSearch(telValue, pageIndex, methodUrl))
    .done(function () 
    {
        updateResultFooter("@ViewBag.CountResult", pageIndex, "@ViewBag.PageCount");
    });

});

function updateResultFooter(resultCount, pageIndex, pageCount) 
{
    if (pageIndex == 0)
        $("#bnPreviousPage").attr('disabled', 'disabled');
    else
        $("#bnPreviousPage").removeAttr('disabled');

    if ((pageIndex + 1) == pageCount)
        $("#bnNextPage").attr('disabled', 'disabled');
    else
        $("#bnNextPage").removeAttr('disabled');
    }

function doReverseSearch(telValue, pageIdx, methodUrl) 
{
    $.ajax(
    {
        url: methodUrl,
        type: 'post',
        data: JSON.stringify({ Telephone: telValue, pageIndex: pageIdx }),
        datatype: 'json',
        contentType: 'application/json; charset=utf-8',
        success: function (data) {
            $('#result').replaceWith(data);
        },
        error: function (request, status, err) {
            alert(status);
            alert(err);
        }
    });
}

先感谢您

文章来源: jQuery when().done() don't work for me