1

ドロップダウンから simplecart js カートに情報を渡そうとして、人生の少なくとも 2 日を失ったので、助けていただければ幸いです。

「make」ドロップダウンと「model」ドロップダウンから simplecartjs に値を渡そうとしていますが、これを行う方法がわかりません。2 番目のドロップダウンは、最初のドロップダウンの選択に基づいて入力されます。これらの値を読み取るカートに追加するボタンを作成するにはどうすればよいですか? ドロップダウン コードは次のとおりです。

<script>
$(function() {

    $("#json-one").change(function() {

        var $dropdown = $(this);

        $.getJSON("compatibility.json", function(data) {

            var key = $dropdown.val();
            var vals = [];

            switch(key) {
                case 'Canon':
                    vals = data.Canon.split(",");
                    break;
                case 'Nikon':
                    vals = data.Nikon.split(",");
                    break;
                case 'base':
                    vals = ['Please choose from above'];
            }

            var $jsontwo = $("#json-two");
            $jsontwo.empty();
            $.each(vals, function(index, value) {
                $jsontwo.append("<option>" + value + "</option>");
            });

        });
    });

});
</script>

そして、ここにドロップダウンhtmlがあります:

<select id="json-one">
    <option selected value="base">Camera Model</option>
    <option value="Canon">Canon</option>
    <option value="Nikon">Nikon</option>
</select>

<br />

<select id="json-two">
    <option>Please choose from above</option>
</select>

私の人生では、これらの選択を読み取ってカートに追加ボタンに渡す方法がわかりません。何か案は?

4

1 に答える 1

0

これはうまくいきませんか?(simplecartjs.org のドキュメントからほとんど抜粋)

要件が満たされていない場合は false を返します。

<script>
    $(function(){
        /* current stuff */
    })();

    simpleCart.bind( 'beforeAdd' , function( item ){
        if( item.get( 'make' ) === '' || item.get( 'model' ) === ''){
            // If the dropdowns are empty or it you set them to none etc
            alert('Please remember to select a make and model');
            return false; // prevents item from being added to cart
        }
    });
</script>

そして、ドロップダウンをシェルフアイテムにします..

<div class="simpleCart_shelfItem">
    <h2 class="item_name"> Awesome T-shirt </h2>
    <p>
        <select class="item_make" id="json-one">
            <option selected value="base">Camera Model</option>
            <option value="Canon">Canon</option>
            <option value="Nikon">Nikon</option>
        </select>

        <br />

        <select class="item_model" id="json-two">
            <option>Please choose from above</option>
        </select>

        <br />

        <input type="text" value="1" class="item_Quantity"><br>
        <span class="item_price">$xx.xx</span><br>
        <a class="item_add" href="javascript:;"> Add to Cart </a>
    </p>
</div>
于 2012-11-05T10:34:51.883 に答える