JSFiddle - React, Tailwind, and code Playground
HTML
<select id="streets">
</select>
<select id="buildings">
</select>
<br/>
Укажите номер дома: <input type="text" id="_buildNum">
<button id="_btnCheck">Проверить</button>
JavaScript
var addresses = {
"проспект Ленина": [1,2,3,4,5],
"улица Пушкина" : [30,31,"32а"]
};
function in_array(needle, haystack, strict) {
// Checks if a value exists in an array
// + original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
var found = false, key, strict = !!strict;
for (key in haystack) {
if ((strict && haystack[key] === needle) || (!strict && haystack[key] == needle)) {
found = true;
break;
}
}
return found;
}
$( document ).ready(function() {
select = $('#streets');
$('#streets').append('<option>Выберите улицу</option>');
for (var street in addresses)
{
$('#streets').append('<option>'+street+'</option>');
}
$(document).on('change', '#streets', function(event){
var street = $(this).val();
$('#buildings').empty();
addresses[street].forEach(function(v,i,a){
$("#buildings").append('<option>'+v+'</option>')
});
});
$(document).on('click', '#_btnCheck', function(event){
var street = $('#streets').val();
console.log(street);
//всё приводим к нижнему регистру: 9А -> 9а
var building = $('#_buildNum').val().toLowerCase();
//уберём из строки все пробелы: 9 а -> 9а
building = building.replace(/\s+/g, '');
if(in_array( building, addresses[street]))
{
alert('подключен');
}
else
{
alert("не подключен");
}
});
});