2015-10-16 3 views
0

Я хочу заполнить 2-й раскрывающийся список на основе первого раскрывающегося списка. Позвольте сказать, что у меня есть 1 раскрывающийся список с опциями {Индия, Южная Африка, США} Если я выберу Индию, тогда 2-й раскрывающийся список должен показать {Раджастхан, MP, HP, UP ...} и другие.Несколько зависимых выпадающих списков на странице jsp

Здесь значения статические, поэтому они находятся только на jsp, но при выборе из обоих я должен выполнить условие фильтра в фоновом режиме.

Как я могу это сделать с помощью javascript или jquery?

ответ

0

Я думаю, что вы могли бы хотеть что-то вроде этого:

var citiesByState = { 
 
    USA: ["NY", "NJ"], 
 
    Singapore: ["taas", "naas"], 
 
    India: ["Rajasthan", "MP", "HP", "UP"] 
 
} 
 

 
function makeSubmenu(value) { 
 
    if (value.length == 0) document.getElementById("citySelect").innerHTML = "<option></option>"; 
 
    else { 
 
    var citiesOptions = ""; 
 
    for (cityId in citiesByState[value]) { 
 
     citiesOptions += "<option>" + citiesByState[value][cityId] + "</option>"; 
 
    } 
 
    document.getElementById("citySelect").innerHTML = citiesOptions; 
 
    } 
 
} 
 

 
function resetSelection() { 
 
    document.getElementById("countrySelect").selectedIndex = 0; 
 
    document.getElementById("citySelect").selectedIndex = 0; 
 
}
<body onload="resetSelection()"> 
 
    <select id="countrySelect" size="1" onchange="makeSubmenu(this.value)"> 
 
    <option></option> 
 
    <option>USA</option> 
 
    <option>Singapore</option> 
 
    <option>India</option> 
 
    </select> 
 
    <select id="citySelect" size="1"> 
 
    <option></option> 
 
    </select> 
 
</body>

Примечание: Параметры, добавляемые в HTML, как Индия должны иметь такое же имя и те же случаи (CaseSensitive) в массиве JavaScript, например Индия: ["Раджастхан", "МП", "НР", "ВВЕРХ"]

+0

Спасибо @ divy3993 –

+0

Так что если это вам помогло и вы удовлетворены. Примите ответ. – divy3993

+0

Я хочу знать, как мы можем это сделать в jquery? –

Смежные вопросы