0

SimplecartJSを使用したInternetExplorer8との互換性の問題に直面しています。

サイズを選択できます:(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

皆さん、やった!構文が正しいかどうかはわかりません。最小化できると思いますが、IE8で機能します。誰かに役立つことを願っています。

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 に答える