1

我已经失去了至少两天的生命,试图将一些信息从我的下拉列表传递到 simplecart js 购物车,所以任何帮助都将不胜感激。

我正在尝试将“make”下拉列表中的值以及“model”下拉列表中的值传递给 simplecartjs,但我不确定如何执行此操作。我的第二个下拉列表是根据第一个下拉列表的选择填充的。如何创建读取这些值的添加到购物车按钮?这是下拉代码:

<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 回答