选座系统,使用jQuery实现,要求只有一个位置处于被选择状态。以下代码可以选择多个位置,不符合要求,不知该如何修改。(我想应该要获得上一次点击选择的位置信息,但也不知道如何实现)
var sc = $('#seat-map').seatCharts({
map: [ //座位图
'aa_aaaaaaaa',
'aa_aaaaaaaa',
'__________',
'aaaaaaaa__',
'aaaaaaaaaa',
'aaaaaaaaaa',
'aaaaaaaaaa',
'aaaaaaaaaa',
'aaaaaaaaaa',
'aa__aa__aa'
],
legend : { //定义图例
node : $('#legend'),
items : [
[ 'a', 'available', '可选' ],
[ 'a', 'unavailable', '已占']
]
},
click: function () { //点击事件
if (this.status() == 'available') { //可选座
$('- '+(this.settings.row+1)+'排'+this.settings.label+'座 ')
.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') { //已选中
//更新数量
$counter.text(sc.find('selected').length-1);
//更新总计
$total.text(recalculateTotal(sc)-price);
//删除已预订座位
$('#cart-item-'+this.settings.id).remove();
//可选座
return 'available';
} else if (this.status() == 'unavailable') { //已售出
return 'unavailable';
} else {
return this.style();
}
}
});
//已售出的座位
sc.get(['1_2', '4_4','4_5','6_6','6_7','8_5','8_6','8_7','8_8', '10_1', '10_2']).status('unavailable');