0

我在使用 SimplecartJS 时遇到了与 Internet Explorer 8 的兼容性问题:

我可以选择尺寸:(shop.php)

<select class="item_Size">
    <option value="15 x 10 cm">15 x 10 cm - 2€&lt;/option>
    <option value="15 x 21 cm">15 x 21 cm - 3€&lt;/option>
    <option value="21 x 29,7 cm">21 x 29,7 cm - 5€&lt;/option>
    <option value="21 x 29,7 cm encadré">21 x 29,7 cm encadré - 20€&lt;/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 值使用简单的引号,但没有任何变化。

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

4

1 回答 1

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

;-)

于 2013-01-10T11:40:31.710 回答