私のアプリはフォームを使用してエリアごとに会場の結果をフィルタリングします。フォームには各エリアのチェックボックスがあり、複数のエリアを確認できます。ページは、チェックされた領域にある会場のみを返します。このareamap/checkboxをJQueryで両方の方法で動作させるにはどうすればよいですか? (JsFiddleが含まれています)
このページには、すべての異なる領域を示す町の.pngマップ画像もあり、各領域はクリック可能で、フィルタフォームの領域チェックボックスに対応します。 map.pngは、各領域の多角形を含むイメージマップの背景です。
このJavaScript:
$(function() {
$('area').click(function(){
var name = $(this).data("areanum");
var $checkbox = $('#' + name);
$checkbox.attr('checked', !$checkbox.attr('checked'));
$checkbox.button('refresh');
});
});
は、対応するチェックボックスにマップ上の領域をリンクします。したがって、ユーザーが地図上の北部エリアを選択すると、北部エリアチェックボックスがチェックされます。しかし、ユーザーが北部チェックボックスを選択した場合、地図上の北部エリアはチェックされません。
地図上のエリアがクリックされるとチェックボックスがチェックされますが、チェックボックスがクリックされると地図上のエリアに何も表示されません。
どのようにこの相互作用を両方の方法で行うことができますか?
編集 - 領域とその関連するチェックボックス
マップ
<div class="map_container">
<img alt="" class="map" height="450" src="/assets/maps/mainmap.png" usemap="#mainmap" width="450" />
<map name="mainmap">
<area id="north" data-areanum="area-42" shape="poly"
coords="158,43,152,49,164,86,165,112,153,153,139,169,145,171,161,176,236,201,241,202,251,166,253,142,257,132,294,102,269,85,240,68,227,53,213,28,202,27" alt="North"
data-maphilight='{"stroke":false,"fillColor":"5F9EA0","fillOpacity":0.6}'
onmouseover="document.body.style.cursor='pointer'"
onmouseout="document.body.style.cursor='default'" >
</map>
</div>
その関連するチェックボックスの領域のHTMLを生成
<div class="filter_options_container">
<form accept-charset="UTF-8" action="" id="filter_form" method="get"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="✓" /></div>
<fieldset class="filter_form_fieldset areas">
<p class="area_check"><input id="area-42" name="areas[]" type="checkbox" value="42" />
<label for="area-42"><p1>North</p1></label></p>
</fieldset>
<div class="filter_form_button">
<p2><input type="submit" value="Show me"/></p2>
</div>
</form></div>
jsfiddleこれで私のアプリで何が起こっているかのミニバージョン
質問は少し混乱し、ヘルプは非常に高く評価されるかどう申し訳ありません!
定義。 –
これは下位互換性と何が関係していますか? –
質問の名前を変更する必要があります。「下位互換性」は探しているものではありません。それ以外:チェックボックスをオンにしたときにマップが実際に何をしたいのですか?あなたはタイルの色を変えていますか?マップの上に重なる要素を変更しますか? –