【问题标题】:jQuery - Where do I split the array before I add to combobox?jQuery - 在添加到组合框之前,我在哪里拆分数组?
【发布时间】:2013-09-05 18:20:53
【问题描述】:

我正在尝试将 JSON 文件的内容添加到组合框中。这很好用,但是组合框的某些行有多个值(例如,“印地语、英语、法语”都在一行上),因为在 JSON 中输出的某些字段中有多个值。我试图在将数组注入组合框之前拆分数组,以便每个值都在自己的行上,但我不确定将拆分数组函数放在哪里。谁能指出我正确的位置?谢谢!

 $('#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;
        });

【问题讨论】:

    标签: jquery arrays json split


    【解决方案1】:

    我不确定我是否完全理解你,但我认为你想多了

    $('#combolist-languages').html(function () {
    
        var ret = '<option value="-1" selected>Select language_</option>',
            arr = [];
    
        $.each(user, function(i, v) {
            if ($.inArray(v.Languages, arr) === -1) {
                arr.push(v.Languages);
                ret += '<option value="">' + v.Languages + '</option>';
            }
        });
    
        return ret;
    });
    

    【讨论】:

    • 原因是因为数据库中的某些条目有多个值。当 JSON 检索数据并将其注入组合框字段时,数据库中有多个值的行都在一个选项值中 - 我试图将它们分别放在一行中。
    【解决方案2】:

    这实际上取决于您的 JSON 文件结构,但我猜您可以使用函数 is_object 和 is_array 来查找值是否是单独的。

    我猜在 var v = u.shift(); 之后你可以:

    if(is_object(v)){
        $.each(v.split(','), function(index, item){
            arr.push(item.Languages);
            ret+= '<option value="">' + item.Languages + '</option>';
        }
    }
    

    现在这可能是错误的,因为我真的不知道您的 JSON 对象是如何构造的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-01-30
      • 1970-01-01
      • 2012-03-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多