从逗号分隔的字符串加载下拉列表的更好方法

时间:2014-06-25 23:52:26

标签: jquery

我有一串逗号分隔的值。我需要拆分字符串并加载dropdown中的每个条目。我有以下代码来完成这项工作。

是否有更好的代码可以在不使用任何其他库的情况下减少行数?

CODE

               //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]));
          }

2 个答案:

答案 0 :(得分:2)

您可以将其简化为:

$.each(result.split(','), function(i, e) {
    $('.ddlASN').append($('<option>', { value: e, text: e }));
});

答案 1 :(得分:1)

这是一个花哨的shmancy解决方案:

$('.ddlASN').html($.map(result.split(','), function(item) {
  $('<option></option>').val(item).html(item)[0].outerHtml()
}).join(''));

它取代了select标签的html内容,因此无需先清除内容。

action

最重要的是,我宁愿在问题中使用简单明了的解决方案,而不是我自己的答案,而这只是挑战。