你好我有这个代码在Firefox中运行完美,但在IE 8中不起作用,并没有给我任何错误?!
$(".shp_div").change(function () {
var str = "";
$("select option:selected").each(function () {
var countprod =parseInt($("#countprod").val());
var str2 = $(this).val();
str2_array = str2.split('|');
var cost = parseInt(str2_array[0]);
var cost_extra = parseInt(str2_array[1]);
if ($("#countprod").val()>1) {
str = parseInt(((countprod-1)*cost_extra) + cost);
} else{
str = cost;
}});
$(".csq_item2").text(str);
var total =parseInt($("#subtotal").val());
var shipping=parseInt(str + total);
$(".price_total").text(shipping);
})
.change();
为了获得“全图”,请访问:http://poshsunglasses.net/21-Bottega_Veneta-B.V.88.html并添加到购物车中,然后在购物车页面中尝试选择FF中的运输国家/地区进行计算。
谢谢
答案 0 :(得分:3)
您的问题是您将更改事件绑定到DIV。 div没有真正的变化事件。也许在FF和chrome中,选择更改事件会泄漏到div,但在IE中却没有。
尝试将更改事件放在select(或其他输入)而不是div。
顺便说一下:你为什么选择这个?什么时候只能选择一个?我会这样做:给mu selectlist一个id:
<select name="shipping" id="shipping">
$("#shipping").change(function () {
var str2 = $("option:selected","#shipping").val().split('|');
var cost = parseInt(str2_array[0]);
var cost_extra = parseInt(str2_array[1]);
//Go on from here
});
PS:如果您要将选择列表中的任何值用作发送到后端的信息。我会使用唯一ID代替此符号来防止出现问题,并将价格值放在一个额外的参数中:
<option value="56411-416(unique ID)" price="25|10">Country</option>
答案 1 :(得分:0)
我改变了
$(".shp_div").change(function () {
与
$(".shippinginfo").change(function () {
正在运作