一个可以预订几个不同航班的功能?

时间:2013-11-16 20:59:18

标签: javascript jquery html5

我有以下js小提琴:

编辑:http://jsfiddle.net/Godin1/z8zD5/6/

HTML:
<table align="center" class="table table-bordered" style="border-radius: 15px;">
<col width="350">
    <col width="600">
        <col width="150">
            <tr>
                <th>Destination</th>
                <th>Description</th>
                <th>Price</th>
            </tr>
            <tr>
                <td>Villa Jibacoa
                    <br>
                </td>
                <td>
                    <ul>
                        <li>255 rooms</li>
                        <li>One 9-storey building</li>
                        <li>4 restaurants</li>
                        <li>5 bars</li>
                        <li>Pool</li>
                        <li>110 and 220 volts (adaptor required)</li>
                    </ul>
                </td>
                <td>$784
                    <div style="position: relative; margin-top: 40px;">
                        <button id="first" type="button" onclick="SeatAssignment()" class="btn btn-success">Book Now!</button>
                    </div>
                </td>
            </tr>
            <tr>
                <td>Gran Caribe Puntarena
                    <br>
                </td>
                <td>
                    <ul>
                        <li>110 rooms</li>
                        <li>Bungalow-style villas</li>
                        <li>2 restaurants</li>
                        <li>2 bars</li>
                        <li>Pools</li>
                        <li>220 volts (adaptor required)</li>
                    </ul>
                </td>
                <td>$947
                    <div style="position: relative; margin-top: 40px;">
                        <button type="button" onclick="SeatAssignment()" class="btn btn-success">Book Now!</button>
                    </div>
                </td>
            </tr>
</table>

Javascript:

var SeatSection;
var seats = (11);
var firstClass = 1;
var economy = 6;
var seatselection;

seats = 0;

function SeatAssignment()
{
        seatselection = window.prompt("Please select 1 for firstclass and 2 for economy");

        if (seatselection == 1 && firstClass <=5 && seats == 0)
            {

                window.alert("You have been assigned first class seat #" + firstClass);
                seats[firstClass] = 1;
                ++ firstClass;                                    
            }
        else if (seatselection == 2 && economy <=10 && seats == 0)
        {
            window.alert("You have been assigned economy class seat #" + economy);
                seats[economy] = 1;
                ++ economy; 
        }

        else 
        {
            window.alert("Seats are full");
        }


}

我不确定为什么“立即预订”选项目前无效,但基本上会弹出一个窗口,您输入1或2作为头等舱或经济座位。将有多个目的地,因此我需要为每个地方提供“立即预订”。但是,目前所有按钮都经过相同的功能,因此座位不是从一个平面到另一个平面。我想知道我是否必须创建一个不同的功能来处理每个不同航班的座位,或者我可以用一个功能在某个地方做这个吗?

由于

1 个答案:

答案 0 :(得分:1)

首先,来修复你的小提琴,而不是:

function SeatAssignment() {...}

将您的函数分配给变量,如下所示:

SeatAssignment = function() {..}

您可以在此处阅读有关差异的信息:var functionName = function() {} vs function functionName() {}

然后,处理多个航班添加一个参数,您可以通过该参数传递此按钮所关联的航班/目的地。

所以你的功能现在变成了:

SeatAssignment = function(flight) {
   console.log(flight);
   ... } 

然后将适当的信息作为参数包含在您的onclick调用中:

<button type="button" onclick="SeatAssignment(2)" class="btn btn-success">Book Now!</button>

更新了小提琴:http://jsfiddle.net/z8zD5/5/