我在使用SimplecartJS时遇到Internet Explorer 8的兼容性问题:
我有一个选择大小:(shop.php)
<select class="item_Size">
<option value="15 x 10 cm">15 x 10 cm - 2€</option>
<option value="15 x 21 cm">15 x 21 cm - 3€</option>
<option value="21 x 29,7 cm">21 x 29,7 cm - 5€</option>
<option value="21 x 29,7 cm encadré">21 x 29,7 cm encadré - 20€</option>
</select>
一个小的JS脚本来设置大小的价格:(script.js)
simpleCart.bind( 'beforeAdd' , function( item )
{
if( item.get( 'size' ) == '15 x 10 cm' )
{
item.price( '2' );
}
else if( item.get( 'size' ) == '15 x 21 cm' )
{
item.price( '3' );
}
else if( item.get( 'size' ) == '21 x 29,7 cm' )
{
item.price( '5' );
}
else if( item.get( 'size' ) == '21 x 29,7 cm encadré' )
{
item.price( '20' );
}
});
它在Firefox,Safari等中完美运行,但不在ie 8中(未在ie 7中测试)。
我已经尝试过在JS脚本(item.price(20);)中没有关于item.price值的简单引号但没有任何改变。
有人有想法帮我解决这个问题吗?
答案 0 :(得分:0)
if ( $.browser.msie )
{
$('.item_add').click(function()
{
var id_du_select_photo_ie = this.id;
var selecteur = 'selec' + id_du_select_photo_ie;
var selectionne = ' option:selected';
var valeur_select_photo_ie = $('#selec' + id_du_select_photo_ie + selectionne).val();
simpleCart.bind("beforeAdd", function(item)
{
if(valeur_select_photo_ie == "15 x 10 cm")
{
item.price(2);
item.set( "size" , valeur_select_photo_ie );
}
else if(valeur_select_photo_ie == "15 x 21 cm")
{
item.price(3);
item.set( "size" , valeur_select_photo_ie );
}
else if(valeur_select_photo_ie == "21 x 29,7 cm")
{
item.price(5);
item.set( "size" , valeur_select_photo_ie );
}
else if(valeur_select_photo_ie == "21 x 29,7 cm encadré")
{
item.price(20);
item.set( "size" , valeur_select_photo_ie );
}
});
});
}
if ( !$.browser.msie )
{
simpleCart.bind("beforeAdd", function(item)
{
if(item.get("size") == "15 x 10 cm")
{
item.price(2);
}
else if(item.get("size") == "15 x 21 cm")
{
item.price(3);
}
else if(item.get("size") == "21 x 29,7 cm")
{
item.price(5);
}
else if(item.get("size") == "21 x 29,7 cm encadré")
{
item.price(20);
}
});
}
- )