Как отправить только выбранные значения из выпадающего списка?

0

У меня есть код ниже и вызывается метод serialize() в форме:

<script src="~/Scripts/jquery-1.8.2.min.js"></script>
<form>
    <select id="CouponType" name="CouponType">
        <option value="MONEYOFF">MONEYOFF</option>
        <option value="BONUSPOINTS">BONUSPOINTS</option>
    </select>

    <input type="button" id="btnSubmit" value="SUBMIT ME" />

    <script type="text/javascript">

        $("#btnSubmit").click(function (e) {
            e.preventDefault();
            alert($('form').serialize());
        });

    </script>
</form>

Что должно произойти, так это то, что только в том случае, если выпадающий список имеет значение, тогда значение должно быть суммировано, но оно всегда подает первый вариант в списке, поэтому результат предупреждения всегда ниже в IE 7.0, IE 8.0, IE 9.0 и Хром:

CouponType=MONEYOFF

Как отправить только выбранные значения из выпадающего списка?

  • 0
    onerutter.com/open-source/jquery/...
  • 0
    Поскольку первый вариант выбран по умолчанию, именно так работает выбор.
Показать ещё 4 комментария
Теги:
forms

3 ответа

0

Когда ни один не выбран, IE 9. 0+ делает SelectedIndex = -1 по умолчанию, в то время как IE 7, 8 и Chrome делает SelectedIndex = 0 таким образом помещает первый элемент.

0

Это то, что вы хотите?

<form>
    <select id="CouponType" name="CouponType">
        <option value="MONEYOFF">MONEYOFF</option>
        <option value="BONUSPOINTS">BONUSPOINTS</option>
    </select>

    <input type="button" id="btnSubmit" value="SUBMIT ME" />

    <script type="text/javascript">

        $("#btnSubmit").click(function (e) {
            e.preventDefault();
            alert($('#CouponType').val());
        });

    </script>
</form>

http://jsfiddle.net/24Hz9/

0

Вам нужно будет создать пустую опцию, которая будет выбрана по умолчанию, которая не будет представлять значения, если пользователь не выберет один

<form>
    <select id="CouponType" name="CouponType">
        <option value="">Select a type</option>
        <option value="MONEYOFF">MONEYOFF</option>
        <option value="BONUSPOINTS">BONUSPOINTS</option>
    </select>
    <input type="button" id="btnSubmit" value="SUBMIT ME" />
</form>

$("#btnSubmit").click(function (e) {
    e.preventDefault();
    if ($('#CouponType').val()) {
        alert($('form').serialize());
    }
});

http://jsfiddle.net/ginovva320/C8N7X/

Ещё вопросы

Сообщество Overcoder
Наверх
Меню