jQuery when()。done()不适合我

时间:2012-07-19 00:32:12

标签: javascript jquery asp.net-mvc-3 asynchronous

我有下面的jQuery代码,但when().done()对我来说不能正常工作。 updateResultFooter()被称为bedore,doReverseSearch()方法完成了她的工作。因此,我的视图中的按钮已启用,然后在replace方法中的doReverseSearch()后重新获取其默认值(已停用)。

$("#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);
        }
    });
}

提前谢谢

0 个答案:

没有答案