1

私は次のコードを持っています、このコードは人がリンクをクリックしたときに実行されます。ただし、デフォルトのアドレスをロードするためにユーザーがページにアクセスしたときに、最初にロードする必要もあります。したがって、このコードの後に​​$('。viewmap')。click();があります。

問題は、クラスビューマップを使用してリンクごとにクリックアクションが実行されることです。このコードをデフォルト値0のmapidで1回実行して、この関数をマップのデフォルトのロードと、誰かがviewmapクラスのリンクの1つをクリックした場合の両方に再利用できるようにすることは可能ですか?または、個別の関数を作成する必要がありますか?1つはデフォルトのロード用で、もう1つはクリックアクション用ですか?

$('.viewmap').click(function() {

    var id = $('#id').text();
    var mapid = $(this).attr('title');

    $.ajax({
        cache:false,
        url:'path/to/script'
        dataType:'json',
        success: function(data) {

            $('#currmap').gMap(
                    {
                        latitude   : data.lat,
                        longitude  : data.lon,
                        address    : data.address,
                        maptype    : 'ROADMAP',
                        zoom       : 8,
                        markers:[{
                                     latitude    : data.lat,
                                     longitude   : data.lon,
                                     address     : data.address,
                                     html        : data.display
                                 }]

                    }

            );

        }

    });

});
4

2 に答える 2

1

これを試して:

$('.viewmap:first').click();
于 2012-04-30T19:54:30.637 に答える
1

処理コードを独自の関数に入れてみてください。次に、ページの読み込み時に直接呼び出すことができます。また、要素でクリックイベントが発生したときにも呼び出すことができます。これを試して:

function updateMap() {
    var id = $('#id').text();
    var mapid = $(".viewmap").attr('title');

    $.ajax({
        cache:false,
        url:'path/to/script'
        dataType:'json',
        success: function(data) {    
            $('#currmap').gMap({
                latitude   : data.lat,
                longitude  : data.lon,
                address    : data.address,
                maptype    : 'ROADMAP',
                zoom       : 8,
                markers:[{
                    latitude    : data.lat,
                    longitude   : data.lon,
                    address     : data.address,
                    html        : data.display
                }]
            });
        }
    });
}

updateMap();
$('.viewmap').click(updateMap);

これにより、問題の原因となっている要素に対して手動でクリックイベントをトリガーする必要がなくなります。

于 2012-04-30T19:54:58.490 に答える