0

如果有人可以帮助我解决这个问题,我将不胜感激。

我希望在我的页面中添加一些 html/js,这样一旦客户将他们的国家/地区放入下拉菜单并单击提交,就会产生预计的交货日期。

4

2 回答 2

1

最好的方法是使用地图引擎(如 Google Maps API 或 Nokia Here)并计算距离。但这是非常复杂的,并且在大多数情况下都过大。

我做过一次国家代码列表,你可以用它来归档你想要的。只需使用 JSON 并向distance其添加一个新选项。然后您只需将其添加到选择中:

$(function() {
    var countrycodes=[
        {"image":"ae.png","nameEN":"United Arab Emirates","code":"AE","distance":2},
        {"image":"us.png","nameEN":"United States","code":"US","distance":1},
        {"image":"vn.png","nameEN":"Viet Nam","code":"VN","distance":4},
        {"image":"cn.png","nameEN":"China","code":"CN","distance":3}
    ];

  $(countrycodes).each(function(i,value) {
    $("#SendingCountry").append("<option value=" + value.distance + ">"+ value.nameEN +"</option");
  });
  $("#calculate").click(function() {
     var result=$("#SendingCountry").val()*$("#SendingType").val();
     $("#result").text("Your order will be shipped within "+result+" day.");
  });
});

有关详细信息,请参阅此小提琴

于 2013-07-31T07:25:28.107 回答
0

在国家/地区列表中,我将格式化

<select name="countries">
<option value='AA|3|1'>Somewhere</option>
<option value='AB|9|6'>Someplace</option>
</select>

然后在 JavaScript 中:

country = document.forms['f1'].elements['countries'].value;
prices = country.split('|');
prices[1] += 60 * 60 * 24;
prices[2] += 60 * 60 * 24;
today = new Date();
FreeShippingDate = today + prices[1];
ExpressShippingDate = today + price[2];

希望这可以帮助

于 2013-07-31T07:10:02.897 回答