再次调用时更新JQueryUI .button()?

时间:2013-07-23 18:52:16

标签: javascript jquery jquery-ui

我有一个帖子会返回一个新页面。该页面有一个<a> link </a>,在页面返回时我会调用$( "a" ).button();。我已经在原始页面上调用了这个,所以我的所有按钮都已经格式化为JQueryUI按钮。但是,在我发布另一个帖子之前,新按钮没有格式化。有办法吗

$(".mapRelation")
        .click(function( event ) {
        var closestRow = $(this).closest("tr");
        var nextRow = closestRow.next("tr");
        $(this).css("display", "none");
        if(nextRow.attr("id") != "map"){
            $.ajax({
                url: "AddTask.aspx/insertMappingRow",
                type: "POST",
                dataType: "json",
                contentType: "application/json; charset=utf-8",
                success: function (res) { 
                    closestRow.after(res.d);
                     },
                error: function (res) { debugger; alert("error"); }
                });
                $("#effect").height("+=25");
                $("#toggler").height("+=25");
        }
        $(".submitMapping").button();

1 个答案:

答案 0 :(得分:1)

我写了这整个问题,然后我的同事为我解答了,所以也许它会帮助别人......

$(".submitMapping").button();需要放在AJAX调用的成功部分。由于AJAX是异步的,因此.button()会在您的新按钮出现在页面之前发生。如果您将$(".submitMapping").button();放在closestRow.after(res.d);之后,它会在页面上放置时调用它。