#jquery
#jquery
Вопрос:
У меня есть строка значений, разделенных запятыми. Мне нужно разделить строку и загрузить каждую запись в dropdown
. У меня есть следующий код, который выполняет эту работу.
Есть ли лучший код, который уменьшает количество строк без использования какой-либо другой библиотеки?
код
//Remove existing entries from dropdown
$('.ddlASN').empty();
//Split string to array
var arr = result.split(',');
//Loop through array
for(var i = 0; i<arr.length; i )
{
//Add ddl options - text and value
$('.ddlASN').append($('<option></option>').val(arr[i]).html(arr[i]));
}
Ответ №1:
Вы можете упростить его до:
$.each(result.split(','), function(i, e) {
$('.ddlASN').append($('<option>', { value: e, text: e }));
});
Комментарии:
1. Вы все равно должны использовать
$('.ddlASN').empty()
для очистки существующих.
Ответ №2:
Вот необычное решение:
$('.ddlASN').html($.map(result.split(','), function(item) {
$('<option></option>').val(item).html(item)[0].outerHtml()
}).join(''));
Он заменяет HTML-содержимое тега select, поэтому нет необходимости сначала очищать содержимое.
Смотрите в действии
В итоге я бы предпочел использовать простое и понятное решение в вопросе, а не мой собственный ответ, который был просто для вызова.