2016-07-04 1 views
0

Как заполнить список выбора значениями, которые я получил с помощью javascript?Значение списка, заполненного javascript

Я отправляю запрос GET на сайт .php, который дает мне ответ в формате JSON. Теперь я хочу поместить эти строки в список выбора.

<select id = "list" name=log size=50 style=width:1028px> 

<script type="text/javascript"> 
window.onload = function() { 

    var bytes=0; 
    var url = "/test/log.php?q='0'"; 
    function httpGet(url) 
    { 
    var xhttp = new XMLHttpRequest(); 
    var realurl = url + bytes; 
    xhttp.open("GET", url, true); 
    xhttp.onload = function (e) { 
     if (xhttp.readyState === 4) { 
      if (xhttp.status === 200) { 
       console.log(xhttp.responseText); 
       var response=JSON.parse(xhttp.responseText); 
       var log = response.key; 
       bytes = log.length; 
      } 
     }; 
    xhttp.onerror = function (e) { 
     console.error(xhttp.statusText); 
     } 
    }; 


    xhttp.send(); 
    } 

    var updateInterval = 2000; 
    function update() { 

    httpGet(url); 
     setTimeout(update, updateInterval); 
    } 

    update(); 
} 
</script> 
</select> 

Ответ я получаю от log.php является "{"key":"whole log file"}". Теперь я хочу сохранить этот ответ в списке и заполнить его каждые 2 секунды.

+0

как вы хотите, чтобы достичь этого? используя Php или Javascript? –

+0

Использование javascript. Я хочу, чтобы список был заполнен без обновления страницы. – Mirakurun

ответ

1

Петля над содержимым возвращенной строки после JSON.parse -в ее. Создайте из него элементы опции и вставьте их в выбранный.

var html = ""; 
var obj = JSON.parse(xhttp.responseText); 
for(var key in obj) { 
    html += "<option value=" + key + ">" +obj[key] + "</option>"; 
} 
document.getElementById("list").innerHTML = html; 

См JSBin

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

  • Нет связанных вопросов^_^