JavaScript | select js
Есть два select с данными. Данные берутся с бд. Как сделать что бы при выборе одного из первого select менялось значение в другом селекте.
Press f, с помощью JS
Trec80, ну это понятно что с помощью js, а как именно
<select id = "sex">
<option value="m" selected>Мужчина</option>
<option value="f">Женщина</option>
<option value="x">Зверев</option>
<option value="?">Другое</option><!-- Данных на это поле нет, соответственно, зависимый селект будет просто очищаться -->
</select>
<select id = "names"></select>
<script>
var dataObject = {
"m": "Пётр,Василий,Сергей,Октавиан",
"f": "Ирина,Светлана,Марина,Евгения",
"x": "Гламур,Звезда,Шоумен,Куафёр"
};
makeRelation = (function () {
function change(slave, data){
var x, dataArray, option;
slave.innerHTML = "";
if (!(this.value in data)){
return false;
}
dataArray = data[this.value].split(",");
for(x = 0; x < dataArray.length; x++) {
option = document.createElement("option");
option.value = String(x);
option.innerHTML = dataArray[x];
slave.appendChild(option);
}
}
return function (master, slave, data) {
master.onchange = function () {
change.call(this, slave, data);
}
master.onchange();
}
})();
makeRelation(gid("sex"), gid("names"), dataObject); // Использование
function gid(txt){
return document.getElementById(txt);
}
</script>
Press f,
________
посл. ред. 22.02.2020 в 17:24; всего 1 раз(а); by Mr_Grey
________
посл. ред. 22.02.2020 в 17:24; всего 1 раз(а); by Mr_Grey
вешать события на смена селекта