在添加到组合列表之前拆分数组

时间:2013-09-04 10:45:02

标签: javascript arrays json split

我有一个JSON对象,它返回几个键值对。其中一个是Languages键,它包含逗号分隔值,例如“英语,印地语,法语”等

我试图在将数组添加到组合列表之前拆分数组,但我尝试的所有内容都失败了。请帮忙吗?

$('#combolist-languages').html(function () {

            var ret = '<option value="-1" selected>Select language_</option>',
                u = user.slice(),
                arr = [];

            (function get() {
                if (u.length) {
                    var v = u.shift();
                    if ($.inArray(v.Languages, arr) == -1) {

                        arr.push(v.Languages);
                        ret += '<option value="">' + v.Languages + '</option>';
                    }
                    get();
                }
            }());

            return ret;
        });

我只是不确定拆分功能放在哪里。谢谢!

1 个答案:

答案 0 :(得分:1)

怎么样?

var lang = 'English,Hindi,French';
var html = '<option value="-1" selected>Select language_</option>';
html += '<option value="">';
html += lang.split(',').join('</option><option value="">');
html += '</option>';
$('#combolist-languages').html(html);

使用jQuery.map为每个选项设置值:

var lang = 'English,Hindi,French';
var html = '<option value="-1" selected>Select language_</option>';
$('#combolist-languages').html(
    html + jQuery.map(lang.split(','), function (text, value) {
        return '<option value="' + value + '">' + text + '</option>';
    })
);