0

我有一张表,我正在对使用 jQuery 进行更改。

我想进行 2 处更改,首先替换一个元素,然后使用 tablesorter 重新排序表。

$("#sl" + myrec_id).replaceWith(result.html);
$("#scenario_item_list").tablesorter({ sortList: current_scenareoSort });

问题是,如果我对表格进行排序,那么该项目将作为第二行添加到表格中,而不是替换。

每条线都可以独立工作,但不能一起工作。

更新:这是完整的代码

$(".save_item_update" ).live("touchstart click",function(event) {
            event.preventDefault();
            var mysc_id = $("#scenarioid").attr("class");
            var myrec_id = $("#recordid").attr("class");
            var loadtype = $("#edittype").attr("class");

            var fr_description = $("#fr_description").val();
            var fr_type = $("#fr_type").val(); 
            var fr_paymentfrequency = $("#fr_paymentfrequency").val(); 
            var fr_amount = $("#fr_amount").val(); 
            var fr_payhowtype = $("#fr_payhowtype").val(); 
            var fr_balance = $("#fr_balance").val(); 
            var fr_asatdata = $("#fr_asatdata").val(); 
            var fr_interestrate = $("#fr_interestrate").val();
            var sl_differentdata = $("#sl_differentdata").val(); 
            var sl_amount = $("#sl_amount").val(); 
            var sl_paymentfrequency = $("#sl_paymentfrequency").val(); 

            var fr_comment = $("#fr_comment").val(); 
            $.post("/scenario/save_item_update", { loadtype : loadtype, item_id : myrec_id, sl_scenario_id : mysc_id, fr_description:fr_description, fr_paymentfrequency:fr_paymentfrequency, fr_amount:fr_amount, fr_payhowtype:fr_payhowtype, fr_balance:fr_balance, fr_asatdata:fr_asatdata, fr_interestrate:fr_interestrate, fr_type:fr_type, fr_comment:fr_comment },
            function(result){

                if (result.status == "NOT LOGGED IN" ) {
                    NotLoggedIn(true);
                } else if (result.status == 'ERROR') {
                    ReportError(result.errormessage,true)
                } else {

                    if (loadtype == 'sl_remove') {
                        $("#finance_item_list tbody").append(result.html);
                        $("#sl" + myrec_id).remove();
                        $("#mthremain").html(result.monthremaining);
                        $("#finance_item_list").tablesorter({ sortList: current_financeSort });
                    } else if (loadtype == 'fi_dodelete') {
                        $("#fr" + myrec_id).remove();
                    } else if (loadtype == 'fi_use') {
                        $("#scenario_item_list tbody").append(result.html);
                        $("#mthremain").html(result.monthremaining);
                        $('#fr' + myrec_id).remove();
                        $("#scenario_item_list").tablesorter({ sortList: current_scenareoSort });
                        closePopUp();
                        $("#popup_body").html('');
                    } else if (loadtype == 'fi_edit') {
                        $("#fr" + myrec_id).replaceWith(result.html);
                        $("#finance_item_list").tablesorter({ sortList: current_financeSort });
                        closePopUp();
                        $("#popup_body").html('');
                    } else if (loadtype == 'sl_edit') {
                        $("#sl" + myrec_id).replaceWith(result.html);
                        $("#mthremain").html(result.monthremaining);
                        $("#scenario_item_list").tablesorter({ sortList: current_scenareoSort });
                        closePopUp();
                        $("#popup_body").html('');
                    } else if (loadtype == 'fi_insert') {
                        $("#finance_item_list tbody").append(result.html);
                        //$("#finance_item_list").tablesorter({ sortList: current_financeSort });
                        closePopUp();
                        $("#popup_body").html('');
                    }

                }

            },"json");
        });
4

1 回答 1

0

那么你需要更新 DOM。

您可以在正在进行的或以前的现场活动中执行此操作。

编辑:

我发现了这个,可能会有所帮助:

我相信您可以使用以下方式触发更新:

$(table).trigger("update")
于 2012-12-16T06:30:02.477 回答