Разбор массива объектов json
Всем привет!
Подскажите, есть массив объектов вида:
var ssidObjs = [
{"ssid":"TP-Link_6260","rssi":-66,"channel":1},
{"ssid":"TP-LINK_71","rssi":-81,"channel":1}
]
Разобрал массив на объекты и вывел в select
ssidObjs.forEach(function(elem) {
option = document.getElementById('staSSIDSelect');
option.options[option.options.length] = new Option(elem.ssid + ' (' + elem.rssi + 'dBm, ch' + elem.channel + ')', elem.ssid);
});
<select id="staSSIDSelect" value="sta_ssid" onchange="ssidChange()">
<option disabled="">-----</option>
<option value="">Hidden Network</option>
<option>Данные из объекта 1</option>
<option>Данные из объекта 2</option>
</select>
Как сделать так, чтоб добавляемые option всегда были сначала списка, а не добавлялись в конце? И вообще как правильно такую задачу сделать (вывести данные из массива объектов в select)? Помогите пожалуйста! |
mcmega,
<!DOCTYPE HTML>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<script src='https://code.jquery.com/jquery-latest.js'></script>
<script>
$(function ()
{
function ssidChange()
{
}
var data = [
{"ssid":"TP-Link_6260","rssi":-66,"channel":1},
{"ssid":"TP-LINK_71","rssi":-81,"channel":1}
]
, select = $('<select/>', {id : "staSSIDSelect", change : ssidChange});
$.each(data,function() {
$('<option/>', {
val: this.ssid,
text: this.ssid + " ("+this.rssi+"dBm)"
}).appendTo(select);
});
$('.result_block').append(select);
})
</script>
</head>
<body>
<div class="result_block"></div>
</body>
</html>
|
Спасибо! Но нужно на чистом js, без внешних библиотек.
|
mcmega,
<!DOCTYPE html>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
</head>
<body>
<select id="staSSIDSelect" value="sta_ssid" onchange="ssidChange()">
<option disabled="">-----</option>
<option value="">Hidden Network</option>
</select>
<script>
var ssidObjs = [
{"ssid":"TP-Link_6260","rssi":-66,"channel":1},
{"ssid":"TP-LINK_71","rssi":-81,"channel":1}
],
select = document.getElementById('staSSIDSelect');
ssidObjs.forEach(function(elem,i) {
select.add(new Option(elem.ssid + ' (' + elem.rssi + 'dBm)', elem.ssid),i);
});
select.selectedIndex = 0;
</script>
</body>
</html>
|
Спасибо!!! Все отлично заработало!
|
| Часовой пояс GMT +3, время: 07:17. |