jQuery-座位表重新映射现有座位

jQuery-Seat-Chart remap existing seats

我正在使用 jquery-seat-charts (https://github.com/mateuszmarkowski/jQuery-Seat-Charts) 来显示座位图(对于给定的大厅、公共汽车、火车等)。问题是我的座位布局随着时间的推移而改变,我是这样处理的:

$(document).on('click', '.some-item', function(e){ 
    e.preventDefault();
    var obj = jQuery.parseJSON( jsonForThisElement );

    var seatMap = [];

    for (var i = 0 ; i < obj.someAttr.Rows ; i++){
        var row = '' ;
        for (var j = 0 ; j < obj.someAttr.Cols ; j++){                  
                row += 'f';
        }
        seatMap.push(row);
    }
    var sc = $('#seat-map').seatCharts({
        map: seatMap,
        seats: someSeatStyleObject, //doesn't matter
        naming : someNamingObject , //doesn't matter
        ... other initializations            
    });

到目前为止,seatMap 的更新不起作用,第一个点击项目的座位图保持不变(我的意思是第一个初始化的座位图)。关于如何重新初始化的任何想法?

为什么不把它放在函数中呢?分开吧。你知道如何覆盖每个座位的ID和标签吗?

我不得不删除插件的所有数据并重新初始化。一些 jquery 插件将数据属性附加到需要删除的元素以及座位和其他 ui 对象。然后再次调用 $('#id').seatCharts({ ... })

这是清除现有座位并删除附加的 seatChart 对象的方法:

$('.seatCharts-row').remove();
$('.seatCharts-legendItem').remove();
$('#seat-map,#seat-map *').unbind().removeData();