#javascript
#javascript
Вопрос:
У меня есть требование отображать dropdown
список, основанный на arraylist
отправке с сервера, при определенных условиях, например, при загрузке страницы и изменении события ArrayList1
, ArrayList2
if(condition is true)
display the contents to dropdownlist from arraylist1
else
display the contents to dropdownlist from arraylist 2
Может ли кто-нибудь рассказать, как этот список массивов может быть сохранен на странице как скрытое поле, чтобы я мог получить к нему доступ в javascript.
??
Комментарии:
1. Сервер, вы говорите? Не хотите рассказать нам немного больше об этом? Код, который создает страницу? Платформа? Что-нибудь?
Ответ №1:
Если у вас уже есть массив, вы могли бы сделать что-то вроде этого:
<form>
<select id="my_seelecyt">
</select>
</form>
<script type="text/javascript">
var list1=['a','b','c'];
var list2=['e','f','g'];
var list;
var select_box = document.getElementById('my_seelecyt');
if(condition is true){
list=list1;
}else{
list=list2;
}
for(var i=0; i<list.length; i ){
var op = document.createElement('option');
op.value=list[i];
op.innerHTML = list[i];
select_box.appendChild(op);
}
</script>
Ответ №2:
вам нужно указать параметры:
- Использование ajax для создания запроса к серверу и сохранения ответа в переменной, т. е. js-framework jquery позволяет вам сделать post-запрос и получить его обратно)
- Использование серверных технологий, таких как php, jsp, asp, для помещения ответа в переменную javascript
Ответ №3:
Если вы имели в виду, что вы предварительно генерируете выпадающие списки, а затем переключаете их в JS на основе некоторых критериев, то вот как это можно было бы сделать:
Сначала сгенерируйте HTML:
<div id="arraylist1" style="display:none">
<select>
<option>Option1</option>
<option>Option2</option>
</select>
</div>
<div id="arraylist2" style="display:none">
<select>
<option>Option1</option>
<option>Option2</option>
</select>
</div>
<!-- This is the placeholder for the dropdown -->
<div id="list"></div>
А затем использовать это в JavaScript:
var arrayList = condition ? $('div#arrayList1') : $('div#arrayList2');
$('#list').append(arrayList);
arrayList.show();