Как вывести модальное окно alert() выбрав соответствующую позицию (
Проблема в следующем: нужно сделать что-то вроде опросника с помощью , причем содержимое двух последующим меняется от выбора в предыдущем . При выборе пользователем нужного по его содержимому в последнем должно появляться модальное окно alert() с описанием. Последняя часть у меня застопорилась (я запутался). Помогите пожалуйста разобраться с последней частью.(jquery в HTML подключен).
HTML:
<div class="row">
<div class="col">
<select class="form-select" id="list1">
<option selected>Вы являетесь:</option>
<option value="1">Физическое лицо</option>
<option value="2">Юридическое лицо</option>
</select>
</div>
</div>
<div class="row">
<div class="col">
<select class="form-select" id="list2" disabled>
<option selected></option>
</select>
</div>
</div>
<div class="row">
<div class="col">
<select class="form-select" id="list3" disabled>
<option selected></option>
</select>
</div>
</div>
JS:
var ohran1=[];
var ohran2=[[],[],[]];
var ohrana1;
var lst1 = document.getElementById("list1");
var lst2 = document.getElementById("list2");
var lst3 = document.getElementById("list3");
ohran1[0]=["1","2","3"];
ohran1[1]=["4","5","6"];
ohran2[0][0]=["7","8","9"];
ohran2[0][1]=["10","11","12"];
ohran2[0][2]=["13","14","15"];
ohran2[1][0]=["16","17","18"];
ohran2[1][1]=["19","20","21"];
ohran2[1][2]=["22","23","24"];
lst1.onchange = function() {
lst2.disabled = false;
ohrana1 = this.value-1;
if (ohrana1 != -1) {
for (var i = 0; i < ohran1[ohrana1].length; i++) {
lst2.innerHTML+='<option value="'+(i+1)+'">'+ohran1[ohrana1][i]+'</option>';
}
} else {
lst2.disabled = true;
lst3.disabled = true;
}
}
lst2.onchange = function() {
lst3.disabled = false;
var mc = this.value - 1;
if (mc != -1) {
for (var i = 0; i < ohran2[ohrana1][mc].length; i++) {
lst3.innerHTML+='<option value="'+(i+1)+'">'+ohran2[ohrana1][mc][i]+'</option>';
}
} else {
lst3.disabled=true;
}
}
$("#list3").on("change", function () { //вот здесь
if($(this).option.innerText === "1") { //у меня и
alert('Привет!!!'); //проблемка
}
});
Ответы (1 шт):
Автор решения: Mickel Gor
→ Ссылка
Вместо:
$("#list3").on("change", function () {
if($(this).option.innerText === "1") {
alert('Привет!!!');
}
});
надо использовать:
$(document).on('change','#list3',function () {
var txt1 = ($('option:selected', this).text());
if ((txt1 === "1")) {
alert("привет!!!");
}
});