как разложить массив при выводе в селект
есть список значений разделенный запятой = url, (париж, лондон) мне надо вывести его значения в селект
$('.result_block').append('<div class="competitors"><div class="demands"><select><option>'+url+'</option></select></div></div>'); так когда пишу естественно выводятся оба значения списка в одном теге options, а как разложить чтобы каждое значение выводилось в отдельном теге options |
url - у тебя массив?
var $select = $('<select>'); var options = $.map(url, function(item) { return new Option(item); }); $select.append(options); Дальше сам. |
url у меня список через запятую, а что такое $.map
|
Цитата:
Цитата:
Если возле запятой могут быть пробелы, то тримишь их через $.trim() (ибо String.prototype.trim нету в старых браузерах) |
Извините за беспокойство но я сделал так
var $select = $('<select>'); var options = $.map(url, function(item) { return new Option(item); }); $select.append(options); $('.result_block').append('<div class="demands">'+$select+'</div></div>'); и мне просто выводится object Object |
Потому что $select - это объект. При конкатенации строк, объект преобразуется в строку как [object Object].
Зацени: alert({}); |
как же тогда конкатенировать и вставить этот селект в html?
а вот так пустой селект на выходе var options = $.map(url, function(item) { return new Option(item); }); $('.result_block').append('<div class="demands"><select>'+options+'</select></div>'); |
imediasun1,
<!DOCTYPE HTML> <html> <head> <title>Untitled</title> <meta charset="utf-8"> <script src='http://code.jquery.com/jquery-latest.js'></script> <script> $(function () { var url = "париж, лондон", select = $('<select/>'); $.each(url.split(','),function() { $('<option/>', { val: this, text: this }).appendTo(select); }); $('.result_block').append(select); }) </script> </head> <body> <div class="result_block"></div> </body> </html> |
сделал так как рони указал, спасибо все работает, только вот подскажите как обозначить что первое значение selected в такой подаче
|
Цитата:
Цитата:
select.prop('selectedIndex', 0); |
Часовой пояс GMT +3, время: 12:08. |