0

このコードは座席レイアウトを作成します。クラスは座席のコストを決定し、jqueryオブジェクトにはレイアウトとクラスを決定するためのデータが含まれています。

var jsondata = {
"who": "RSNO",
    "what": "An American Festival",
    "when": "2013-02-08 19:30",
    "where": "User Hall - Main Auditorium",
    "seats": ["00000000000000000011111111111111000000000000000000", "0000000000000001111111111111111aaa0000000000000000", "00000000000000aa111111111111111aaaaa00000000000000", "00000000000001111111111111111111111111000000000000", "000000000aa00aaaaaaaaaaaaaaaaaaaaaa1100aa000000000", "00000001111001111111111111111111111100111100000000", "00000aaaaaa0011aaaaaaaaa11111111aaa1100aaaaaa00000", "00001111111001111111111111111111111100111111100000", "000aaaaaaa110011111111111111111111110011aaaaaaa000", "00111111111100111111111111111111111001111111111000", "00aaaaa1111110011111111111111111111001111aaaaaaa00", "11111111111100111111111111111111111001111111111110", "0aaaaaaaaaaaa001111111111111111111100aaaaaaaaaaaa0", "01111111111110011111111111111111110011111111111100", "00000000000000001111111111111111110000000000000000", "01111111111111001111111111111111100111111111111100", "01111111111111001111111111111111110011111111111110", "01111111111111001111111111111111100111111111111100", "00a11111111111100111111111111111100111111111111a00", "00111111111111100111111111111111001111111111111000", "00011111111111110011111111111111001111111111111000", "00111111111111100111111111111111001111111111111000", "00011111111111110011111111111111001111111111111000", "00011111111111110011111111111110011111111111110000", "0000000111a111111001111a1111a110011111111110000000", "00000000111111110011111111111110011111111000000000", "00000000001111111001111111111110011111110000000000", "00000000000000111001111111111100111000000000000000"],
    "rows": ["DD", "CC", "BB", "AA", "Z", "Y", "X", "W", "V", "U", "T", "S", "R", "Q", "xx", "P", "N", "M", "L", "K", "J", "H", "G", "F", "E", "D", "C", "B", "A"],
    "seatPrice": ["                  00000000000000                  ", "               0000000000000000000                ", "              0000000000000000000000              ", "             0000000000000000000000000            ", "         00  000000000000000000000000  00         ", "       0000  00000000000000000000000  0000        ", "     000000  000000000000000000000000  000000     ", "    0000000  00000000000000000000000  0000000     ", "   000000000  0000000000000000000000  000000000   ", "  0000000000  000000000000000000000  0000000000   ", "  00000000000  00000000000000000000  00000000000  ", "000000000000  000000000000000000000  000000000000 ", " 000000000000  00000000000000000000  000000000000 ", " 000000000000  0000000000000000000  000000000000  ", "                000000000000000000                ", " 0000000000000  00000000000000000  0000000000000  ", " 0000000000000  000000000000000000  0000000000000 ", " 0000000000000  00000000000000000  0000000000000  ", "  0000000000000  0000000000000000  0000000000000  ", "  0000000000000  000000000000000  0000000000000   ", "   0000000000000  00000000000000  0000000000000   ", "  0000000000000  000000000000000  0000000000000   ", "   0000000000000  00000000000000  0000000000000   ", "   0000000000000  0011111111100  0000000000000    ", "       0000000000  111111111111  0000000000       ", "        00000000  1111111111111  00000000         ", "          0000000  111111111111  0000000          ", "              000  00000000000  000               "],
    "priceLookup": [10, 20]
};

var counter = 0;
var tbl_body = "";
var print = "";

$.each(jsondata.seats, function (j, d) {
var tbl_row = "";
$.each(this, function (k, v) {
    var seatPrice = jsondata.seatPrice[j][k];            
        if (v == "1" || v == "a") {
            counter++;
        }

        if (v == 0) {
            print = " ";
        } else {
            print = v;
        }
        var seatPriceClass = '';
        if (seatPrice == "0") {
            seatPriceClass = "p";
        } else if (seatPrice == "1") {
            seatPriceClass = "n";
        } else {
            seatPriceClass = "none";
        }
        if (v == "a") {
            seatPriceClass = "x";
        }


        tbl_row += "<td class=" + seatPriceClass + " id=" + counter + ">" + print + "</td>";

    });

    tbl_body += "<tr>" + tbl_row + "</tr>";
    counter = 0;

});
$("#plan").html(tbl_body);

2つの配列では、レイアウトを作成するためにテーブルが作成されます。カウンターは、座席を見つけると行のカウントを開始します(つまり、座席は1であり、0の座席はないため、1に達すると、行の終わりまでカウントを開始します)。これはすべて正しく、これまでのところ機能しています。ただしrows、JSONファイル内のオブジェクトを使用して行参照を作成し、それをカウンターデータに追加して、セルにID(つまり、c7)を与える必要があります。シートリファレンス。

この関数をネストして試しましたが、機能しないか、エラーが発生します

 $.each(function(j, g){
    var row_id =jsondata.rows[j][g];
     });

この関数、または配列で機能するのと同様の関数を取得するにはどうすればよいですか?

4

1 に答える 1

0

使うだけjsondata.rows[j]

tbl_row += "<td class=" + seatPriceClass + " id=" + jsondata.rows[j] + counter + ">" + print + "</td>";
于 2013-03-08T06:11:18.693 に答える