0

jQueryの使用に変更を加えているテーブルがあります。

2つの変更を加えたいと思います。最初は要素を置き換え、次にtablesorterを使用してテーブルを再ソートします。

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

問題は、テーブルの並べ替えを行うと、アイテムが置き換えられるのではなく、2番目の行としてテーブルに追加されることです。

各行は独立して機能しますが、一緒には機能しません。

更新:ここに完全なコードがあります

$(".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 に答える