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);
        }
    });
});

我的目标是将第一个脚本包含在第二个脚本中,因此当我单击某个区域时,脚本会将 cookie 替换为国家/地区代码,但我对 javascript 的了解有限。任何想法都会受到欢迎。

4

1 回答 1

1

在 上onRegionClick,您已经可以使用以下参数之一获取国家/地区代码: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 回答