0

新しいページを返す投稿があります。そのページには<a> link </a>、ページが返されたときに私が呼び出す があります$( "a" ).button();。元のページで既にこれを呼び出しているため、すべてのボタンは既に JQueryUI Button としてフォーマットされています。ただし、別の投稿を行うまで、新しいボタンはフォーマットされません。方法はありますか

$(".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();
4

1 に答える 1

1

この質問全体を書き上げた後、同僚が答えてくれたので、他の人の助けになるかもしれません...

は、AJAX 呼び出しの$(".submitMapping").button();成功部分に配置する必要があります。AJAX は非同期であるため.button()、新しいボタンがページに表示される前に処理が行われます。$(".submitMapping").button();の後に配置closestRow.after(res.d);すると、ページに配置されたときに呼び出されます。

于 2013-07-23T18:52:16.007 に答える