сброс выбранных станций метро
Вложений: 2
помогите разобраться в следующем : при клике на карту метро отмечаются станции в metromap-count но при повторном клике счетчик не сбрасывается, вот два скрина и код приложу , помогите кто может :help: :help:
<p class="group-cntrls"> <a href="#" onclick="return metromapHide();"><b>Закрыть</b></a> <a href="#" onclick="return metromapClear();">Очистить</a> <a href="#" onclick="return metromapHide();"><b>Готово</b></a> <span>Выбрано: <b id="metromap-count">0</b></span> function in_array(needle, haystack, strict) { var found = false, key, strict = !!strict; for (key in haystack) {if ((strict && haystack[key] === needle) || (!strict && haystack[key] == needle)) {found = true;break;}} return found; } /**/ function metromapGroup(groupID) { $("#metromap-loader").stop().animate({opacity: "1"}, 500, function() { var iC = parseInt(metromap_stationgroups[groupID].length), i = 0; $.each(metromap_stationgroups[groupID], function(k,id) { i++; if (!in_array(id, metromap_selected)) { $("#metromap-map .station[data-id="+id+"]").addClass('selected'); metromap_selected.push(id); } if (iC==i) { metromapSync(); $("#metromap-loader").animate({opacity: "0"}, 500); } }); }); return false; } function metromapShow() { $('body').addClass('metromap-body') $("#metromap").show(); return false; } function metromapHide() { $('body').removeClass('metromap-body') $("#metromap").hide(); return false; } function metromapClear() { metromap_selected = []; $("#metromap-cont").html(''); $("#metromap-clear").hide(); $("#metromap-map .station").removeClass('selected'); $("#metromap-count").text(0); } function metromapSync() { _metromapVisual(); if (parseInt(metromap_selected.length)>0) { $("#metromap-clear").show(); if (!$("#filter-btn-more").hasClass('hided')) $("#filter-btn-more").trigger('click'); } else $("#metromap-clear").hide(); $("#metromap-count").text(parseInt(metromap_selected.length)); } function metromapInit(url) { $.ajax({url: url, crossDomain:true, dataType:'html', cache: false}).done(function(html) { $("#metromap").html(html); metromapSync(); $.each(metromap_stations,function(id,station) { var html_class = !in_array(id, metromap_selected) ? "station" : "station selected"; $('<div class="'+html_class+'" style="top:'+station.y+'px;left:'+station.x+'px" data-id="'+id+'">'+station.html+'</div>').appendTo("#metromap-map"); }); }); } $(document).on('keydown', function(e) { if(e.keyCode==27) metromapHide(); }); $(document).on('click', '#metromap-bg', function() { return metromapHide(); }); $(document).on('click', '#metromap-map .station', function() { $(this).toggleClass('selected'); metromap_selected.push($(this).attr('data-id')); metromapSync(); return false; }); [JS] <script type="text/javascript"> var metromap_selected = []; metromapInit('/lib/metromap/inc.php'); function _metromapVisual() { $("#metromap-cont").html(''); $.each(metromap_selected, function(k,id) { $("<input type='hidden' name='object_metro[]' value='"+id+"' /><span>"+metromap_stations[id].name+"</span>").appendTo("#metromap-cont"); }); } </script> [/JS] |
Часовой пояс GMT +3, время: 13:25. |