выбор пункта меню из выпадающего списка
<select id="make" name="make">
<option value="0"> ---------------------- </option>
<option value="Mercedec">Mercedec</option>
<option value="Mazda">Mazda</option>
<option value="Audi">Audi</option>
</select>
пишу в консоле
$("#make [value='Mazda']").attr("selected", "selected");
выбирается пункт мазда но на странице ничего не меняется это как будто просто фокус на пункте происходит. нежели когда я в ручную мышкой выбираю пункт происходит запрос на сервер и сервер возвращает список мазд. как реализовать |
<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script> добавить в код выше |
денис77447327,
зачем attr? |
$('#make').val('Mazda')
|
Цитата:
|
добавить в "шапку" скрипта
Код:
// @require https://code.jquery.com/jquery-3.3.1.min.js
document.querySelector('#make').value = "Mazda";
|
не работает. он выбирает этот пункт . но лишь визуально. запроса на сервер не происходит. и на странице ничего не меняется
|
денис77447327,
это потому что событие change не происходит
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<select id="make" name="make">
<option value="0"> ---------------------- </option>
<option value="Mercedec">Mercedec</option>
<option value="Mazda">Mazda</option>
<option value="Audi">Audi</option>
</select>
<script>
document.querySelector('#make').addEventListener('change', ()=>alert('Наступило событие change'));
setTimeout(()=>document.querySelector('#make').value = 'Mazda', 1000);
</script>
</body>
</html>
вот наглядный пример |
document.querySelector('#make').value = 'Mazda'; // меняем селект
document.querySelector('#make').dispatchEvent(new Event("change")); // вызываем событие
|
Цитата:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<select id="make" name="make">
<option value="0"> ---------------------- </option>
<option value="Mercedec">Mercedec</option>
<option value="Mazda">Mazda</option>
<option value="Audi">Audi</option>
</select>
<script>
$('#make').change(function() {
//обработка события
alert(this.value)
});
//изменение значения
$('#make').val('Mazda').trigger('change');
</script>
Изменение свойств объекта таких как selected должно производится метод .prop() JQ, а не .attr() |
| Часовой пояс GMT +3, время: 08:08. |