Ok, I have a problem, maybe an easy problem, I'm a beginner.
I have an SVG image, which is a map (map of the region), divided into sectors (these are cities). That's right, SVG works just fine. In addition, I have a simple drop-down list (in HTML).
This is what I want:
when someone selects an option (city) in the menu, a selector (region) is selected. And, when someone selects a selector (region), an option is selected in the menu (city).
I have attached images.
THANKS TO LOOK.
UPDATE:
drop-down menu HTML code:
<label for="sel1">Seleziona Area:</label>
<select class="form-control" id="sel1">
<option>1 - Udine Centro</option>
<option>2 - Rizzi / S. Domenico / Cormor / S. Rocco</option>
<option>3 - Laipacco / San Gottardo</option>
<option>4 - Udine sud</option>
<option>5 - Cussignacco</option>
<option>6 - S. Paolo / S. Osvaldo</option>
<option>7 - Chiavris / Paderno</option>
</select>
Run codeJavascript code for SVG image:
$(document).ready(function() {
$('g.chiavris').click(function() {
$('g.chiavris').fadeOut('slow');
});
$("g.region").hover(function() {
$(this).find('.map-image').css('fill', '#8B8B8B');
$(this).find('.map-title').css('display', 'block');
}, function() {
$(this).find('.map-image').css('fill', '#ccc');
$(this).find('.map-title').css('display', 'none');
});
$('.region').click(function(event) {
var regions = $('.region');
console.log(regions);
for(var i=0; i<regions.length; i++){
console.log('tutti messi normali '+ i);
$(regions[i]).find('.map-image').css('fill', '#ccc');
$(regions[i]).find('.map-title').css('display', 'none');
$(regions[i]).bind('mouseenter mouseleave');
}
$(this).find('.map-image').css('fill', '#FF7409');
$(this).find('.map-title').css('display', 'block');
$(this).unbind('mouseenter mouseleave');
});
});
Run codeUPDATE 2:
OK, thanks, I updated your code as follows:
$(".map-image").on('click', function(evt) {
var regionId = evt.target.id;
$('#sel1 option').removeAttr('selected')
.filter('[value=' + regionId + ']')
.attr('selected', true);
setRegion(regionId);
});
$("#sel1").change(function(evt){
var name_region = ($(this).val());
var regions = $(document).find('#'+ name_region).get(0);
$(regions).css('fill', '#FF7409');
});
function onSelectChange() {
var selectedRegion = $("#sel1").val();
setRegion(selectedRegion);
}
function setRegion(regionId) {
$("polygon.selected").removeClass("selected");
$('polygon#' + regionId).addClass("selected");
}
onSelectChange();
Run code