В расширении 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>
Этот код успешно отображает текст, но я не могу добавить скрипт к значению таким образом. Итак, как я могу сделать тот же метод для определения данного значения в локальном хранилище также как значение?
В jQuery вы можете сделать следующее:
$("#mySelectValue option[value='"+localStorage.getItem('mySelectValue')+"']").attr("selected","selected");
Это в основном находит option
с тем же значением, которое вы получаете от localStorage.getItem('mySelectValue')
и делает его выбранным по умолчанию.
.value()
. Тем не менее, он имеет.val()