0

選択した行から動的に作成されたテーブルからの値があります。選択した各行内で、属するすべての td.innerText 値を C# ページに送信したいのですが、方法がわかりません。JSONを使用していましたが、適切に使用したかどうかわかりません。

function selectedRows() 
{

var selectedItems = $('#ScannedLabelTable').find(':checkbox:checked').parents('tr');

 var serial, kanbanNumber, customer, description, quantity;

    $.each(selectedItems, function (i, item) {


        var td = $(this).children('td');

        for (var i = 0; i < td.length; ++i)
        {

            serial = td[1].innerText;
            kanbanNumber = td[2].innerText;
            customer = td[3].innerText;
            description = td[4].innerText;
            quantity = td[5].innerText;

        }

        console.log(serial + ' ' + kanbanNumber + ' ' + customer + ' ' + description + ' ' + quantity);



    });

   $.ajax({
                    url: SEND_TO_TEXTFILE_PAGE
                    , data: "labelSerial=" + serial + "&kanbanNumber=" + kanbanNumber + "&customer="
                            + customer + "&description=" + description + "&quantity=" + quantity 
                    , dataType: 'json'
                    , success: function (status) {
                                                    if (status.Error) {
                                                        alert(status.Error);
                                                    }
                                                }
                    , error: Hesto.Ajax.ErrorHandler
                });


 }
4

1 に答える 1

0

編集:申し訳ありませんが、私はこれをあまりにも早く読んだに違いありません。これでうまくいくはずです。配列を作成し、ループ内でその配列にデータオブジェクトを追加します。

キーと値のペアを使用してjsonオブジェクトを作成するだけの場合は、そのオブジェクトをc#コントローラーに送信できます。

   function selectedRows() {
        var selectedItems = $('#ScannedLabelTable').find(':checkbox:checked').parents('tr');
        var serial, kanbanNumber, customer, description, quantity;
        var dataArray = new Array();

        $.each(selectedItems, function (i, item) {

            var td = $(this).children('td');

            for (var i = 0; i < td.length; ++i)
            {
                var InfoObject = {
                    serial: td[1].innerText;
                    kanbanNumber: td[2].innerText;
                    customer: td[3].innerText;
                    description: td[4].innerText;
                    quantity: td[5].innerText;
                };
                dataArray.push(InfoObject);
            }
    });

    $.ajax({
        url: SEND_TO_TEXTFILE_PAGE
        , data: dataArray
        , dataType: 'json'
        , success: function (status) {
            if (status.Error) {
                alert(status.Error);
            }
         }
         , error: Hesto.Ajax.ErrorHandler
    });
}
于 2013-02-27T08:37:43.783 に答える