ボタンをクリックすると座席が選択され、背景色が緑に変更され、同時にボタンの値がテキストフィールドに追加され、それに応じてトグルされ、同じ機能で私はjavascriptを使用してプログラムを作成しています別の値、つまりバスの料金を渡します。問題:座席ボタンをクリックすると運賃がテキストボックスに加算されますが、2 つ以上の座席ボタンをクリックすると、運賃はテキストボックスに加算されますが、運賃の合計は加算されません。また、選択した座席をクリックすると、運賃が合計運賃から差し引かれます。ここでは jquery を使用していません。plsは誰でも私を助けることができますか?
// Create a variable for the array!
var selectedSeats = new Array();
var selectedFares= new Array();
// Build a function that will update the textfield.
// Call this, whenever the array gets changed!
function updateListOfSelectedSeats() {
document.getElementById('selectedseat').value = selectedSeats.join(',');
document.getElementById('selectedfare').value = selectedFares;
}
// Removes a seat from the list of selected seats
function removeSeatFromList(seat,seatFare) {
for (var i = 0; i < selectedSeats.length; i++) {
if (selectedSeats[i] == seat) {
selectedSeats.splice(i, 1);
updateListOfSelectedSeats();
removeFareFromList(seatFare);
break;
}
}
}
function removeFareFromList(seatFares) {
for (var i = 0; i < selectedFares.length; i++) {
if (selectedFares[i] == seatFares) {
selectedFares.splice(i, 1);
updateListOfSelectedSeats();
break;
}
}
}
// Now the function that reacts to clicks on a seat
function setId(id, value,fare) {
var Seat = document.getElementById(id);
switch (Seat.style.backgroundImage) {
case 'url("themes/frontend/images/greenseat.png")':
// Seat is already selected and needs to be deselected
Seat.style.backgroundImage = 'url("themes/frontend/images/seat.png")';
removeSeatFromList(value,fare);
break;
case '':
case 'url("themes/frontend/images/seat.png")':
// Seat is empty, select it!
Seat.style.backgroundImage = 'url("themes/frontend/images/greenseat.png")';
selectedSeats.push(value);
selectedFares.push(fare);
updateListOfSelectedSeats();
break;
}
}