Как подставить id селекта materialize.css

156
14 августа 2018, 03:30

Шалом, есть страница, в которой настройка предпросмотра баннеров, есть селект и опции типа предпростмотр на мобиле и на планшете, я написал функцию для изменения картинки, в зависимости от выбранного селекта, отображается смарт или планшет, но меняется только в одном модальном окне, а таких окон может быть множество. В общем подскажите как сделать, чтобы id подставлялся в строку selectVal = ($(" тут id подставить option:selected"), я так понял получить id можно через event.target.id, но я не знаю как дальше его использовать Или же есть другой вариант прицепиться к фреймворковскому id тега ul, но там вообще не понял как

HTML

<div class="input-field m-t-xxl">
     <select class="select-wrapper select-window" id="select-window1">
       <option value="1">Мобильные телефоны</option>
       <option value="2">Компьютеры и планшеты</option>
     </select>
     <label>Предварительный просмотр</label>
</div>

JS

$('.select-window').change(function(event) {
    var selectVal = ($("option:selected").val());
        if(selectVal == '1'){
           $('.mobile-preview').show()
           $('.tablet-preview').hide()
        }
        else{
            if((selectVal == '2')){
                $('.mobile-preview').hide()
                $('.tablet-preview').show()
            }
        }
});
Answer 1

Такс, я разобрался с подстановкой id

$(document).ready(function() {
$('.select-window').change(function(event) {
    var currentId = event.target.id
    var selectVal = ($('#'+currentId + ' '+"option:selected").val());
        if(selectVal == '1'){
        $('.mobile-preview').show()
        $('.tablet-preview').hide()
        }
        else{
            if((selectVal == '2')){
                $('.mobile-preview').hide()
                $('.tablet-preview').show()
            }
        }
});
$('.select-window').material_select('destroy');//уничтожаем
$('.select-window').material_select();
});

Но теперь на другом модальном окне сохраняется значение выбранного селекта, как сделать чтобы после каждого изменения все сбрасывалось?

READ ALSO
Не работают стили css в jQuery

Не работают стили css в jQuery

Пытаюсь вызывать меню по клику на элемент div

202
chrome.tabs.executeScript|insertCss срабатывает через раз

chrome.tabs.executeScript|insertCss срабатывает через раз

Добавляю стили и скрипты на определенный сайт в background

176
webpack 4 MiniCssExtractPlugin и webpack-merge

webpack 4 MiniCssExtractPlugin и webpack-merge

Пытаюсь настроить webpack4 , всё работает как надо, за исключением выноса стилей из js файлабез webpack-merge работает, с webpack-merge не видит файла

231