Есть такая структура select со странами загрузка данных стран с сервера
<select>
<option>Россия</option>
<option>Армения</option>
...
<select>
есть еще select куда нужно загрузить города и при получении данных в Россия нужно получить значение в и вызвать функцию для загрузки городов из этой страны в Москва
Вот при изменении поля со странами, когда они загружены получить данные получается, а вот когда они первый раз подгружаются нет, как это сделать, кто может подсказать?
Я пытался ждать полной загрузки ДОМ все равно не получается взять первое значение, может не успевает загружается поле данными, никак не могу найти решение.
скрипт в JSP на JavaScript
<script>
$(document.getElementById("selectUserCountry")).ready(
getCity()
);
---------------код выше не помог получить данные((-------------
function getCity() {
var countryInput = $('select#selectUserCountry option:checked').val();
console.log("Country value" + countryInput);
var selectId = document.getElementById("selectUserCountry").options.selectedIndex;
var txt= document.getElementById("selectUserCountry").options[selectId].text;
var val= document.getElementById("selectUserCountry").options[selectId].value;
console.log("SelectID text" + txt);
console.log("SelectID value" + val);
$.ajax({
url: "./JsonGetCity",
scriptCharset: 'UTF-8',
method: 'POST',
dataType: 'json',
mimeType: 'application/json',
contentType: 'application/json',
data: {"country":countryInput},
error: function(message) {
console.log(message);
},
success: function (res) {
console.log("Data from index in JSON -- " + countryInput);
var input = document.getElementById("selectUserCity");
input.innerHTML = res.value;
}
});
return false;
}
</script>
И в JSP ------------------Замечу что использую событие onchange и все работает при смене страны я получаю ее значение через request.getAttribute("country"); в сервлет. А вот когда ничего не менял и все первый раз подгрузилось в сервлете получаю null.-------------------
<label for="selectUserCountry">Country</label><br>
<select id="selectUserCountry" name="countrySelect" onchange="return getCity();"></select><br>
<label for="selectUserCity">City</label><br>
<select id="selectUserCity" name="citySelect"></select><br>
При загрузке страницы вы можете брать значение selecta и передавать его в другой объект для использования с помощью JS (в данном случае с подключенной библиотекой jQuery) либо инициализировать виджет использовав дынные как переменную для него.
$(document).ready(function() {
alert($('#temp_form select[name="country"]').val());
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="temp_form">
<select name="country">
<option value="1" selected="">Россия</option>
<option value="2">Армения</option>
</select>
</form>
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Нужно апдейтнуть проект на компах с запретом выхода в сетьВсе npm пакеты уже установлены, будет производиться только замена исполняющего...
Сделал GET запрос с помощью JS https://pastebincom/kcCdiRxe ,добавил CORS в заголовки,но все равно выводить ошибки в консоле
Чем плохо то, что сервер разрешит всем производить кроссдоменный ajax? Будем обрабатывать эти запросы так же, как и от обычных клиентов и все...