У меня есть два выпадающих списка: один для штата, один для города. Я хочу сделать так, чтобы, когда раскрывающийся список State находится по умолчанию --State-ed value ( ), выпадающее меню City даже не видно. Но в противном случае, пока вы выберете какое-либо из состояний, появится раскрывающийся список.if --State-- (default value) is selected, make City dropdown invisible
Мой текущий код таков, что опции «Город» $ ( документ ). ready ( function () { var optarray = $ ( "#layout_select" ). children ( 'option' ). map ( function () { return { "value" : this . value , "option" : "<option value = ' " + this . value + " '> " + this . text + "</ option>" } }) $ ( "#column_select" ). change ( function () { $ ( "#layout_select" ). children ( 'option' ). remove (); var addoptarr = []; for ( i = 0 ; i < optarray . length ; i ++) { if ( optarray [ я .] значение . IndexOf ( $ ( это ). вал ()) > - 1 ) { addoptarr . толкать ( optarray [ я ]. опция ); } } $ ( "#layout_select" .) HTML ( addoptarr . присоединиться ( '' )) }). change (); }) в зависимости от выбранного вами состояния. По причинам, которые я не понимаю, <script src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js" > </ script> <select name = "column_select " id = " column_select " style = " height : 35px ; " class = " required " title = " * Укажите свое местоположение " > <option selected value = " col0 " > - State - </ option> < значение опции = "col1" > Alabama </ option> <option value = "col2" > Florida </ option> <option value = "col3" > Texas </ option> </ select> <select name = "layout_select" id = " layout_select " style = " height : 35px ; " > <option value = " col0 " > - City - </ option> <option value = " col1 " > Montgomery </ option> <option value = " col2 " > Orlando </ option> <option value = "col3" > Dallas </ option> </ select> JSFiddle не работает, но работает в скобках. http://jsfiddle.net/a70zjg9p/4/
Мне просто нужна помощь:
$(document).ready(function() {
//get the cities and detach them, since state presumably starts
//as --State--
var $citySelect = $("#layout_select");
var $cities = $citySelect.children().detach();
$("#column_select").on('change', function(e) {
//remove any cities that were previously re-attached
$cities.detach();
if (e.target.value === 'col0') {
//col0 is --State--, hide the cities
$citySelect.hide();
} else {
//find all the cities for the state and re-attach them
$citySelect.append(
$cities.filter(function(){ return this.value === e.target.value })
);
//show the cities
$citySelect.show();
}
}).change();
})
код поверх кода, который у меня уже есть.
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select name="column_select" id="column_select" style="height:35px;" class="required" title=" * Please provide your location">
<option selected value="col0">-- State --</option>
<option value="col1">Alabama</option>
<option value="col2">Florida</option>
<option value="col3">Texas</option>
</select>
<select name="layout_select" id="layout_select" style="height:35px;">
<option value="col0">-- City --</option>
<option value="col1">Montgomery</option>
<option value="col2">Orlando</option>
<option value="col3">Dallas</option>
</select>
col0
javascript,jquery,html,dropdown,