0

ユーザーは、内部にマップがあるモーダルを開くリンクをクリックできる必要があります。すべて正常に動作しますが、モーダルを閉じてリンクをもう一度クリックすると、モーダルは開きますが、マップは再度読み込まれません。

これは、リンクがクリックされたときにモーダルを開くjQueryです。

$('.mapModal').click(function(){
    var id = $(this).attr('value');
    var address = $('#doc' + id).data('ad');
    $("#map-modal").show();
    $("#modal-map").goMap({
        address: '' + address + ', South Africa',
        zoom: 20
    });
    $.goMap.createMarker({
        address: '' + address + ', South Africa'
    });
});

$('.close').click(function(){
    $("#modal-map").html('');
});
4

2 に答える 2

0

goMapは、jQuerydata()メソッドを使用して、データ項目「goMap」を#modal-map要素に追加します。これにより、要素を再表示するときに、要素内にまだマップがあると見なされます。要素のhtmlコンテンツをクリアするときは、そのデータ項目をクリアする必要があります。

別の方法は、hide()代わりにメソッドを使用して要素を非表示にし、マップコンテンツを破棄しないことです。

于 2012-04-23T13:55:54.513 に答える
0

data()を削除する必要があるので、単に$( "#map-modal")。show();の後。書きます

$("#map-modal").removeData();
$("#modal-map").goMap({
        address: '' + address + ', South Africa',
        zoom: 20
});

そして、あなたはそれを再び昼食することができます。

于 2012-05-16T10:31:49.903 に答える