如果有人可以帮我解决这个问题,我将非常感激。
我希望创建一些html / js到我的页面,这样一旦客户将他们的国家/地区放在下拉菜单中并点击提交,就会产生预计的交付日期。
答案 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];
希望这有帮助