Jquery 将多个数据拆分为数组

Jquery 将多个数据拆分为数组,jquery,arrays,Jquery,Arrays,我有来自mysql的数据,需要在下拉列表中显示。代码如下 此数据值将来自mysql。所以我需要在下拉列表中显示所有这些值。正在寻找解决方案 var data = "user data1, user data2, user data3, user data4/ user data6, user data7, user data8/ user data5, user data9"; function studentPopulate(){ $.each(newTotalData,

我有来自mysql的数据,需要在下拉列表中显示。代码如下

此数据值将来自mysql。所以我需要在下拉列表中显示所有这些值。正在寻找解决方案

    var data = "user data1, user data2, user data3, user data4/ user data6, user data7, user data8/ user data5, user data9";


function studentPopulate(){
    $.each(newTotalData, function(key, value) {
    $('#sList')
    .append($("<option></option>")
    .attr("value",key)
    .text(value));
});
}

var totalData = [];
var data_array = []; 
var arrayVal = [];
var newTotalData = new Array();
function studentInfo(){
$.getJSON("checkData.php", {section_id:section_id, uID: uID}, function(data) {
    $.each(data, function(i, user) {
    var data = user.groupContent;
    data_array = data.split('/').join(',');
    totalData.push(data_array);
    arrayVal = totalData;
    newTotalData = arrayVal[0].split(',');
    studentPopulate();
    });
});
}

你需要这样做-

var totalData = [];
function test(){
    var data = "user data1, user data2, user data3, user data4/ user data6, user data7, user data8/ user data5, user data9";
    data_array = data.split('/').join(',');
    totalData.push(data_array);
    arrayVal = totalData;
    newTotalData = arrayVal[0].split(',');
    studentPopulate();
}

function studentPopulate(){
    $.each(newTotalData, function(key, value) {
    $('#sList')
    .append($("<option></option>")
    .attr("value",key)
    .text(value));
});
}

test();

演示-->

从您的示例中不清楚用户数据的哪些部分包含列表框值,哪些部分包含列表框文本。为了说明我认为您可能想要什么,我为您创建了以下内容:

HTML:

Javascript:

function test() {
    var data = "100, Bob Smith/200, John Wayne";
    studentPopulate(data.split('/'));
}

function studentPopulate(data) {
    $.map(data, function (student) {
        var studentRecord = student.split(',');
        var id = studentRecord[0].trim();
        var name = studentRecord[1].trim();
        $('#sList')
        .append($("<option></option>")
                .val(id)
                .html(name));
    });
}

test();

在本例中,我假设列表框值是列表中的第一个元素,文本是第二个元素。

您应该使用正则表达式将数据字符串拆分为数组

var数据=用户数据1、用户数据2、用户数据3、用户数据4/用户数据6、用户数据7、用户数据8/用户数据5、用户数据9

newTotalData = data.split(/[,\/]/); //split string to array.
newTotalData是一个数组


如果你需要一个对象,那么你需要将这个数组转移到一个对象。

你的数组中有3个不同的数组,你不能拆分它当我通知totalData时,它会显示一个数组。我们不能以某种方式拆分totalData。您希望在选择列表中显示什么?所有这些var数据值。这正是从数据库中得到的。所以,你们只需要选择列表中的三个项目?太好了。很好。唯一的问题是我从数据库中获取这些值作为json_编码,在jQuery中,我的var数据是这样的。var data=user.groupContent;你的代码不起作用。我需要做些什么,比如做一个字符串什么的。嗨,pXL,我刚刚更新了上面的代码。最后一部分是我的原始代码。嗨,pXL,谢谢你的帮助。我刚想出来。很好的解决方案。再次感谢。现在我需要找出下拉文本。刚刚更新了上面的代码。它似乎看不到数组中的值。请帮忙,PXL什么事也没发生。事实上,让我告诉你。我还需要在每个“/”之后从var数据分割不同的数组。然后我需要找出哪个数组有这个下拉值。他们是团体。因此,如果我们现在在三个数组中的任何一个数组中找到下拉值,这将是该值的组。如何将数据拆分为三个不同的纪元。“/”之后的拆分[,\/]表示拆分“,”或“/”。
<select id='sList'></select>
function test() {
    var data = "100, Bob Smith/200, John Wayne";
    studentPopulate(data.split('/'));
}

function studentPopulate(data) {
    $.map(data, function (student) {
        var studentRecord = student.split(',');
        var id = studentRecord[0].trim();
        var name = studentRecord[1].trim();
        $('#sList')
        .append($("<option></option>")
                .val(id)
                .html(name));
    });
}

test();
newTotalData = data.split(/[,\/]/); //split string to array.