1

やあみんな、ここにいくつかのコードがあり、正しく動作していないように見えるか、ロジックが意味をなさない. ユーザーがピザのトッピングを選択できる複数選択ボックスを作成する必要があります。同様に、各トッピングは、私の計算では 0.50 セントの追加費用です。したがって、ユーザーがトッピングを 1 つだけ希望する場合は、追加の 0.50 セントになります。したがって、ユーザーがオプション 2 または 3 を選択した場合、またはオプション 1 と 4 を選択した場合でも、トッピングの価格は同じになります。

どんな助けでも大歓迎です!

新しい HTMLは次のとおりです。

<label for='top'>Toppings:</label>
                    <div class="ui-field-contain">
                            <select name="top" id="top" multiple="multiple" data-native-menu="false">
                                <option>Choose Toppings</option>
                                <option value="1">Sausage</option>
                                <option value="1">Pepperoni</option>
                                <option value="1">Mushroom</option>
                                <option value="1">Bell Pepper</option>
                                <option value="1">Onions</option>
                            </select>
                    </div>

JS:

var top = $("#top").val();      
var priceTop = '';
        if (top == 1)
        {
        priceTop = '.50';
        }
        else if (top == 2)
        {
        priceTop = '1.00';
        }
        else if (top == 3)
        {
        priceTop = '1.50';
        }
        else if (top == 4)
        {
        priceTop = '2.00';
        }
         else if (top == 5)
        {
        pricetop = '2.50';
        }

もともとこれは、選択されたトッピングを決定するための私のコードでしたが、HTML で値を 1 のままにしておくと、計算が変更されることがわかりました。だから今、私はこれをやり遂げなければなりません。 古い HTML

<label for='top'>Toppings:</label>
                    <div class="ui-field-contain">
                            <select name="top" id="top" multiple="multiple" data-native-menu="false">
                                <option>Choose Toppings</option>
                                <option value="1">Sausage</option>
                                <option value="2">Pepperoni</option>
                                <option value="3">Mushroom</option>
                                <option value="4">Bell Pepper</option>
                                <option value="5">Onions</option>
                            </select>
                    </div>
4

1 に答える 1

1

jQuery Mobileの複数の非ネイティブselect値は配列を返します。その配列のは、選択されたオプションの合計を表します。最終的な値を得るために掛けます。.val().length.length0.5

$(document).on("pagecreate", function () {
    $("#top").on("change", function () {
        if ($(this).val() != null) {
            console.log($(this).val().length * 0.5 + " USD");
        } else {
            console.log("No toppings.");
        }
    });
});

デモ

于 2014-03-21T17:20:54.707 に答える