1
下記のJavaScriptに問題があります。私はあまりJavaScriptに慣れていません...私が下にあるものは、選択されたチケットの数、合計金額、およびシート行/座席番号を表示するチケット予約スクリプトです。私はチケットの数、座席列、座席番号(選択されたすべての座席のe、g 3,5と8,2は行3座席5と8座席2を意味します)とHTML形式の額をHIDDEN FIELDとしてコードのどこかに表示された後、これらの値を送信ボタンを介して別のページに送信し、PHPで取得します。JavaScript - 関数から値を渡して隠しフィールドを形成する方法
<div class="booking-details">
<ul class="book-left">
<li>Time </li>
<li>Tickets</li>
<li>Total</li>
<li>Seats :</li>
</ul>
<ul class="book-right">
<li>: April 3, 21:00</li>
<li>: <span id="counter">0</span></li>
<li>: <b><i>$</i><span id="total">0</span></b></li>
</ul>
<div class="clear"></div>
<ul id="selected-seats" class="scrollbar scrollbar1"></ul>
<!-- HTML FORM WHERE HIDDEN INPUT IS LOCATED TO GET THE VARIABLES -->
<div id="legend"></div>
</div>
<div style="clear:both"></div>
</div>
<script type="text/javascript">
var price = 52; //price
$(document).ready(function() {
var $cart = $('#selected-seats'), //Sitting Area
$counter = $('#counter'), //Votes
$total = $('#total'); //Total money
var sc = $('#seat-map').seatCharts({
map: [ //Seating chart
'aaaaaaaaaa',
'aaaaaaaaaa',
'__________',
'aaaaaaaa__',
'aaaaaaaaaa',
'aaaaaaaaaa',
'aaaaaaaaaa',
'aaaaaaaaaa',
'aaaaaaaaaa',
'__aaaaaa__'
],
naming : {
top : false,
getLabel : function (character, row, column) {
return column;
}
},
legend : { //Definition legend
node : $('#legend'),
items : [
[ 'a', 'available', 'Available' ],
[ 'a', 'unavailable', 'Sold'],
[ 'a', 'selected', 'Selected']
]
},
click: function() { //Click event
if (this.status() == 'available') { //optional seat
$('<li>Row'+(this.settings.row+1)+' Seat'+this.settings.label+'</li>')
.attr('id', 'cart-item-'+this.settings.id)
.data('seatId', this.settings.id)
.appendTo($cart);
$counter.text(sc.find('selected').length+1);
$total.text(recalculateTotal(sc)+price);
return 'selected';
} else if (this.status() == 'selected') { //Checked
//Update Number
$counter.text(sc.find('selected').length-1);
//update totalnum
$total.text(recalculateTotal(sc)-price);
//Delete reservation
$('#cart-item-'+this.settings.id).remove();
//optional
return 'available';
} else if (this.status() == 'unavailable') { //sold
return 'unavailable';
} else {
return this.style();
}
}
});
//sold seat
sc.get(['', '4_4','4_5','6_6','6_7','8_5','8_6','8_7','8_8', '10_1', '10_2']).status('unavailable');
});
//sum total money
function recalculateTotal(sc) {
var total = 0;
sc.find('selected').each(function() {
total += price;
});
return total;
}
</script>
</div>