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

0

В расширении Chrome Google не позволяет нам добавлять встроенный javascript в popup.html. Таким образом, единственным вариантом является ссылка на внешний скрипт.

У меня есть следующее:

script.js:

if (localStorage.getItem("mySelectValue") === null) { 
    document.write("choose a value"); 
}
else {
    document.write(localStorage.getItem('mySelectValue'));
}

popup.js:

$(document).ready(function(){
    $('#mySelectValue').change(function(){
         localStorage.setItem('mySelectValue', $(this).val());
         $('#mySelectValue').value(localStorage.getItem('mySelectValue'));
    });
});

popup.html:

<script type="text/javascript" src="popup.js"></script>

<select id="mySelectValue">
   <option name="" value=""><script type="text/javascript" src="script.js"></script></option>
       <option value="first" name="first">first</option>
       <option value="second" name="second">second</option>
       <option value="third" name="third">third</option>
</select>

Этот код успешно отображает текст, но я не могу добавить скрипт к значению таким образом. Итак, как я могу сделать тот же метод для определения данного значения в локальном хранилище также как значение?

  • 2
    В jQuery нет метода .value() . Тем не менее, он имеет .val()
  • 0
    В popup.js вы должны найти <option>, значение которого соответствует сохраненному значению, и установить его как выбранный параметр.
Показать ещё 1 комментарий
Теги:
select
local-storage
google-chrome-extension

1 ответ

0
Лучший ответ

В jQuery вы можете сделать следующее:

$("#mySelectValue option[value='"+localStorage.getItem('mySelectValue')+"']").attr("selected","selected");

Это в основном находит option с тем же значением, которое вы получаете от localStorage.getItem('mySelectValue') и делает его выбранным по умолчанию.

  • 0
    Это не сработало, но, как оказалось, мне не нужно было это делать! : D
  • 0
    Я приму, потому что это единственный ответ, хотя он не работает.

Ещё вопросы

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