我有一张不同地区的地图。我需要的是当我在地图上的区域上单击(js 中的.click 函数)时,它与我的选择有关:
<label class="b-map__form__region">
Region
<span class="value custom-select">Choose region</span>
<select class ="region_load" id="region_load" name="r_id">
<?php foreach($this->regions as $region): ?>
<option><?php echo $region['r_name'] ?></option>
<?php endforeach; ?>
</select>
</label>
我的地图和 onclick 功能有这个 js,这里的区域已经与标题相关联,所以我也需要它与 select 相关联:
var
$mapItem = $('.b-map__item'),
$mapHighlight = $('.b-map__item__highlight'),
$mapFormRegion = $('.b-map__form__region'),
$currentRegion = $mapFormRegion.find('.value'),
.on({
click: function() {
var
$this = $(this),
regionCode = $this.attr('href').replace('#', ''),
$currentRegion.html($this.attr('title'));
$mapCity.html('');
$mapHighlight.attr('class', 'b-map__item__highlight ' + regionCode);
}
}, 'area');
$currentRegion - 它是变量,是选择区域的答案,你可以看到它放在我的区域标题上,我也需要把它放在选择中。
我在我的 js 中为我的地图找到了一些关于坐标的代码。谢谢你的帮助!
我的地图有很多区域,这里我只显示一个:
<div class="b-map">
<div class="b-map__city"></div>
<div class="b-map__item">
<img class="mapImage" src="/images/map-light.png" width="701" height="408" border="0" usemap="#map" />
<map name="map">
<area shape="poly" coords="615,0,554,20,548,87,558,93,554,106,557,112,571,118,592,112,592,104,611,88,618,96,628,93,632,77,639,78,640,52,621,55,614,35,631,20" title="<?php echo isset($this->region['chu']) ? $this->region['chu']['r_name'] : "region name for chu" ?>" href="#chu" />
</map>
<div class="b-map__item__highlight"></div>
<div class="b-map__item__pin"></div>
</div>
区域不只是一个,它大约有60个区域。