как получить доступ к списку массивов, отправленному с сервера в Javascript

#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();