【发布时间】:2019-08-08 12:14:29
【问题描述】:
我有服务员对象,每个对象都有自己的数组。
我在 JS 中填充了所有选项
在 HTML 中,两个选择元素填充有: i) 服务员对象 ii) foodItem 对象
我有一个按钮,在提交时我想将 foodItem 推送到选定的服务员数组。
我可以手动将 foodSelection 推送到 waiterSelection
waiters[0].order.push('Penne Primvera');
但我不确定这如何与表单一起使用。
<HTML>
<form id="mainForm">
<select id="menuMain" name="foodOrder"><option>Mains</option></select>
<select id="waiters" name="waiterSelection"><option>Waiters</option></select>
<input type="submit" value="Submit">
</form>
<JS>
//////////
//Waiter Objects
///////////
//Waiter constructor
function Waiter (name, order) {
this.name = name;
this.order = [];
}
//Waiter objects
var waiterOne = new Waiter('Timo');
var waiterTwo = new Waiter('Lucian');
var waiterThree = new Waiter('Arpi');
//Array to store waiters
var waiters = [
waiterOne,
waiterTwo,
waiterThree
];
var waiter = document.getElementById('waiters');
var count = waiters.length;
//Adds the number of waiters to the options menu in the HTML file
for(var i = 0; i< count; i++){
var waiterSelection = waiters[i];
var selectedWaiter = waiterSelection.name;
waiter.options.add(new Option(selectedWaiter));
};
//////////////
//Food Items
////////////
//Food Constructor
function Item (item, price) {
this.item = item;
this.price = price;
}
//Food objects
var iOne = new Item('Peene Primviera', 14.60);
var iTwo = new Item('Lasagne', 14.50);
var iThree = new Item('Fillet Steak', 20.00);
//Array for foodSlection
var maindItemList = [
iOne,
iTwo,
iThree
];
//Add the Options to the DropDownList Mains.
var foodSelection = document.getElementById('menuMain')
var count = maindItemList.length;
for (var i = 0; i < count; i++) {
var itemSelection = maindItemList[i];
var value = itemSelection.item + " (" + itemSelection.price +")"
foodSelection.options.add(new Option(value));
};
////////////
//Form Submit
///////////
var form = document.getElementById('mainForm');
form.onSubmit = function (e) {
console.log(form.foodSelection.value)
};
结果应该是当表单提交时,被选中的服务员应该将选中的食物推送到他们的订单数组中。
Waiter {name: "Timo", order: Array(1)}
name: "Timo"
order: ["Penne Primvera"]
__proto__: Object
【问题讨论】:
标签: javascript html