Jquery 将多个数据拆分为数组
我有来自mysql的数据,需要在下拉列表中显示。代码如下 此数据值将来自mysql。所以我需要在下拉列表中显示所有这些值。正在寻找解决方案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,
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.