Fernando_Costa Ответов: 2

Как сбросить значения в раскрывающемся списке select


у меня есть модальный с этим выпадающим списком он работает нормально, но когда я закрываюсь, я хотел бы очистить этот выпадающий список и поставить значение по умолчанию.
<div class="situacaoPedido col-md-12">
                            <select id="StatusPedidoSaveId" name="StatusPedidoSaveId" class="select2">
                                <option value="" selected>Selecione</option>
                                <option value="1">Pendente Compra</option>
                                <option value="2">Aguardando Pagamento</option>
                                <option value="3">Confirmado</option>
                                <option value="4">Aprovado</option>
                                <option value="5">Em Separação</option>
                                <option value="6">Enviado</option>
                            </select>


Что я уже пробовал:

я попробовал этот код javascript:

$("#modal-trocar-status").on("show.bs.modal", function () {
    $("#DataPedido").val('');
    $("#numPedido").val('');
    $("#observacao").val('');
    //$('#StatusPedidoSaveId').prop('selectedIndex', 0);
    //document.getElementById('StatusPedidoSaveId').selectedIndex = 0;
    $("#StatusPedidoSaveId").val($("#StatusPedidoSaveId").data("default-value"));
    $('.obsAlteracao').hide();
    $('.dadosAlterados').hide();
});


это работает в datapicker, textbox, но не работает с выпадающим элементом select

Gerry Schmitz

Я не думаю, что все знают, что означает "сбросить этот выпадающий список". Вы должны описать, что вы "видите" и что вы хотите увидеть / произойти.

2 Ответов

Рейтинг:
17

Richard Deeming

Основываясь на вашем имени класса CSS, я предполагаю, что вы используете Select2[^]?

Если это так, то вам нужно будет вызвать change событие после установки значения, как показано на рисунке документация[^]:

$("#StatusPedidoSaveId").val('').trigger('change');


Fernando_Costa

Большое спасибо.

Рейтинг:
1

Sandeep Mewara

Вы можете воспользоваться defaultSelected свойство элемента option[^]:

При закрытии вашего модала имейте следующий код:

$('#my_select option').each(function () {
    if (this.defaultSelected) {
        this.selected = true;
        return false;
    }
})

Убедитесь, что параметр по умолчанию имеет недвижимость выбрана, как:
<option value="b" selected="selected">b</option>


Fernando_Costa

Я попробовал, но это тоже не сработало, в dropdonw появляется последний выбор, а не текст "Selecionar"

Sandeep Mewara

Это поможет, если вы отладите и увидите выполнение.