Установить раскрывающееся значение Materialise Select с помощью JS

1

В материализованной структуре:

У меня есть функция, которая обновляет поле ввода и выбирает после нажатия кнопки. Прекрасно работает на Inputbox, но с ошибками:

Мой выбор:

<select class="" id="nm" name="nm"><option selected value="Select Product" disabled>Select Product</option><option value="Roulette">Roulette</option><option value="Texas">Texas</option><option value="Pokers">Pokers</option></select>

я передаю значение "Техас" для переменной nm функции:

function editData(id, nm, em, hp, ad) {

   $('#id').val(id);
   $('#nm').val(nm);
    $("#nm").material_select();
    $('#em').val(em);
    $('#hp').val(hp);
    $('#ad').val(ad);
    $('#id').prop("readonly",true);
    $('#save').prop("disabled",true);
    $('#update').prop("disabled",false);

}

мой выбор должен показывать "Техас" как значение по умолчанию/выбранное, но оно пустое. Я пытаюсь обновить его с помощью $ ("# nm"). Material_select(); Но это не работает.

Теги:
select
materialize

1 ответ

1

Привет, я использую решение без повторной инициализации. Если вы хотите изменить свое значение выбора в материализованном выборе, просто используйте эту функцию:

function msValue (selector, value) {
 selector.val(value).closest('.select-wrapper').find('li').removeClass("active").closest('.select-wrapper').find('.select-dropdown').val(value).find('span:contains(' + value + ')').parent().addClass('selected active');
}

Тогда просто используйте

msValue($("#select_id"), "value_here")

В твоем случае

function editData(id, nm, em, hp, ad) {

    $('#id').val(id);
    msValue($('#nm'), nm);
    $('#em').val(em);
    $('#hp').val(hp);
    $('#ad').val(ad);
    $('#id').prop("readonly",true);
    $('#save').prop("disabled",true);
    $('#update').prop("disabled",false);

}

Недостаток: если материализовать изменение способа выбора inicialization, эта функция не будет работать, поэтому будьте в курсе :)

Ещё вопросы

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