0

国のドロップダウン用に次のコードがあります。選択すると、Cookie が新しい国コードに置き換えられます。:

    <script type="text/javascript">
        $('select-country').observe('change', function(event){
            countryCode = $('select-country').value;
            onChangeUrl = '<?php echo Mage::helper('switcher')->getCountryUrl();    ?>';
            url = onChangeUrl.replace('%geocode%', countryCode);
            setLocation(url);
            event.stop();
        })
    </script>

インターネットで検索すると、非常に優れたプロジェクトhttp://jqvmap.com/が見つかりました。彼らは地図を提供し、国を選択するためにスクリプトをトリガーする可能性を提供します. 提案されたスクリプト コードは次のようなものです。

jQuery(document).ready(function () {
    jQuery('#vmap').vectorMap(
    {
        map: 'world_en',
        backgroundColor: '#555555',
        ...etc.etc....
        onRegionClick: function (element, code, region) {
            var message = 'You clicked "'
                + region
                + '" which has the code: '
                + code.toUpperCase();

            alert(message);
        }
    });
});

私の目的は、最初のスクリプトを 2 番目のスクリプトに含めることです。そのため、地域をクリックすると、スクリプトによって Cookie が国コードに置き換えられますが、JavaScript の知識は限られています。どんなアイデアでも大歓迎です。

4

1 に答える 1

1

では、パラメータの1onRegionClickつを使用して国コードを取得できます: code

したがって、全体として次のようになります。

jQuery(document).ready(function () {
    jQuery('#vmap').vectorMap(
    {
        map: 'world_en',
        backgroundColor: '#555555',
        ...etc.etc....
        onRegionClick: function (element, code, region) {
            // here you already got the code
            // use it to save it to your cookies
            onChangeUrl = '<?php echo Mage::helper('switcher')->getCountryUrl();    ?>';
            url = onChangeUrl.replace('%geocode%', code); // --> use code as the country code
            setLocation(url);
            event.stop();
        }
    });
});
于 2014-04-21T06:12:57.730 に答える