SimplecartJs - 选择大小不适用于ie 8

时间:2013-01-09 10:00:49

标签: select internet-explorer-8 simplecart

我在使用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值的简单引号但没有任何改变。

有人有想法帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

好的伙计们,我做到了! 我不知道语法是否正确,我认为它可以最小化,但它适用于IE 8。 我希望它可以帮到某人:

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);
        }
    });
}

- )