估计送货日期

时间:2013-07-31 06:42:03

标签: javascript jquery html

如果有人可以帮我解决这个问题,我将非常感激。

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

2 个答案:

答案 0 :(得分:1)

执行此操作的最佳方法是使用地图引擎(如Google Maps API或诺基亚此处)并计算距离。但这非常复杂,并且在大多数情况下都是过大的。

我做了一次country-code列表,您可以使用它来存档您想要的内容。只需使用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.");
  });
});

有关详细信息,请参阅this fiddle

答案 1 :(得分: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];

希望这有帮助