亲爱的人们,

对于一个项目,我们必须为荷兰的剧院制作一个预订系统。
我们的想法是,我们根据剧院座位图制作预订系统,
价格因使用JavaScript的座位和座位而异。实际上,我们制作了地图,并将数组作为可点击元素。现在我们发现了一些问题。 1.座位类别0,实际上不是一个类别或不应单击。我们用它来填充地图,但实际上不知道如何将其从脚本中删除,但使其在CSS文件中透明。 2.我们需要某种表格来显示选定的座位,如果您单击多个,则将其计数。我们被困住了,非常感谢您的帮助。
亲切的问候,

韦塞尔·奥尔德·奥尔索夫

<script>
var room1 = [
//   1 2 3 4 5 6 7 8 9 0 1 2
[0,0,1,1,1,1,1,1,1,1,0,0],//14
[0,1,1,1,1,1,1,1,1,1,1,0],//13
[0,1,1,1,1,1,1,1,1,1,1,0],//12
[1,1,1,1,1,2,2,1,1,1,1,1],//11
[1,1,1,1,2,2,2,2,1,1,1,1],//10
[1,1,1,2,2,3,3,2,2,1,1,1],//9
[1,1,1,2,2,3,3,2,2,1,1,1],//8
[1,1,1,2,2,3,3,2,2,1,1,1],//7
[1,1,1,2,2,3,3,2,2,1,1,1],//6
[1,1,1,1,2,2,2,2,1,1,1,1],//5
[0,1,1,1,1,2,2,1,1,1,1,0],//4
[0,1,1,1,1,1,1,1,1,1,1,0],//3
[0,0,1,1,1,1,1,1,1,1,0,0],//2
[0,0,1,1,1,1,1,1,1,1,0,0],//1
];

function make_seat()
{
for(var r = 0 ; r < room1.length ; r++)
{

        var rowdiv = document.createElement("div");

        rowdiv.setAttribute("id","DIV_" + r);
        for(s = 0 ; s < room1[r].length ; s++)
        {

            var seat = document.createElement("button");



                seat.setAttribute("id","seat_" + r + "_" + s);

                seat.appendChild(document.createTextNode(""));
                //seat.addEventListener("click",reservation,false);


                seat.setAttribute("onclick","order("+r+","+s+")");

                switch(room1[r][s])
            {
                case 0 : seat.setAttribute("class","seat_0"); break;
                case 1 : seat.setAttribute("class","seat_1"); break;
                case 2 : seat.setAttribute("class","seat_2"); break;
                case 3 : seat.setAttribute("class","seat_3"); break;
            }
            rowdiv.appendChild(seat);

        }

    document.getElementById("DIV_inhoud").appendChild(rowdiv);
 }

 }


function order(r,s)
{
alert("row = " + (r + 1) + " seat = " + (s + 1));
}

function reservation(ev)
{
ev = ev || window.event;
var x = ev.target || ev.srcElement;

alert(x.id);
}

function start()
{
make_seat();
//document.getElementById("BTN_plus").addEventListener("click",optellen,false);
//document.getElementById("BTN_maal").addEventListener("click",vermenigvuldigen,false);
}

window.addEventListener("load",start,false);

</script>
</head>
<body>
<DIV id = DIV_inhoud></DIV>

最佳答案

我整理了一个jsfiddle,希望它能做您想要的。由于我使用的是jQuery,因此我选择仅在此处使用它,如果您刚刚开始,它可能值得一看,因为它使很多事情都变得更容易(或其他任何js库)。

http://jsfiddle.net/Moritz_M/kcu5ypka/16/

var room1 = [
//   1 2 3 4 5 6 7 8 9 0 1 2
[0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0], //14
[0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0], //13
[0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0], //12
[1, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, 1], //11
[1, 1, 1, 1, 2, 2, 2, 2, 1, 1, 1, 1], //10
[1, 1, 1, 2, 2, 3, 3, 2, 2, 1, 1, 1], //9
[1, 1, 1, 2, 2, 3, 3, 2, 2, 1, 1, 1], //8
[1, 1, 1, 2, 2, 3, 3, 2, 2, 1, 1, 1], //7
[1, 1, 1, 2, 2, 3, 3, 2, 2, 1, 1, 1], //6
[1, 1, 1, 1, 2, 2, 2, 2, 1, 1, 1, 1], //5
[0, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, 0], //4
[0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0], //3
[0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0], //2
[0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0], //1
];

function make_seat() {
for (var r = 0; r < room1.length; r++) {

    var rowdiv = $("<div>");

    rowdiv.attr("id", "DIV_" + r);
    for (s = 0; s < room1[r].length; s++) {

        var seat = $("<button id='seat_"+r+"_"+s+"'>");

        seat.attr("id", "seat_" + r + "_" + s);

        // seat.appendChild(document.createTextNode(""));
        //seat.addEventListener("click",reservation,false);


        seat.click(order);
        switch (room1[r][s]) {
            case 0:
                seat.attr("class", "seat_0");
                break;
            case 1:
                seat.attr("class", "seat_1");
                break;
            case 2:
                seat.attr("class", "seat_2");
                break;
            case 3:
                seat.attr("class", "seat_3");
                break;
        }
        rowdiv.append(seat);

    }

   $("#DIV_inhoud").append(rowdiv);
}

}


function order() {
    var seatInfo = $(this).attr("id").split("_");
    var r = seatInfo[1];
    var s = seatInfo[2];
    $(this).toggleClass("selected");
    $("#count_seat_1").html($(".seat_1.selected").size());
    $("#count_seat_2").html($(".seat_2.selected").size());
    $("#count_seat_3").html($(".seat_3.selected").size());
    $("#count_total").html($(".selected").size());
}

function reservation(ev) {
    ev = ev || window.event;
    var x = ev.target || ev.srcElement;

    alert(x.id);
}

$(document).ready( function() {
    make_seat();
    //document.getElementById("BTN_plus").addEventListener("click",optellen,false);
    //document.getElementById("BTN_maal").addEventListener("click",vermenigvuldigen,false);
});

关于javascript - 预订系统的障碍,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26586669/

10-09 22:47