Jer*_*ans 0 arrays jquery serialization multidimensional-array
我有一个拖放系统,每个丢弃的项目都有三个数据属性.
现在我应该将这些属性放入一个多维数组中.它应该如下所示:
data-order ="0"[data-id ="1",data-content ="blabla"]; data-order ="1"[data-id ="2",data-content ="another content"];
但我不知道如何实现这一目标.还没有在jQuery中使用数组.
谢谢您的帮助!
这是我一直在尝试的东西,但没有成功:
<li class="dropped" data-order="0" data-id="1" data-content="blabla"></li>
<li class="dropped" data-order="0" data-id="2" data-content="another content"></li>
$(".send").click(function() {
var itterate = $(".dropped");
var data_array = new Array();
for (var i in itterate.data()) {
var sub_array = new Array();
sub_array['data-order'] = i;
sub_array['data-id'] = itterate.data()[i];
sub_array['data-content'] = itterate.data([i]);
data_array.push(sub_array);
}
var serialized = $.param(itterate.serializeArray().concat(data_array));
$("#result").text(serialized);
});
Run Code Online (Sandbox Code Playgroud)
这是一个jsfiddle
http://jsfiddle.net/hk120Lhq/1/
$(".send").click(function() {
var data_array = new Array();
$(".dropped").each(function(){
var item = {};
item['data-order'] = $(this).data('order');
item['data-id'] = $(this).data('id');
item['data-content'] = $(this).data('content');
data_array.push(item);
});
var serialized = JSON.stringify(data_array);
$("#result").text(serialized);
});
Run Code Online (Sandbox Code Playgroud)
所以.each和你想要做的循环一样.我不确定你在循环中做了什么,但我认为这是你想要的结果.
进一步简化:http://jsfiddle.net/hk120Lhq/3/
如果您只想从您的li获取所有数据属性并且不确定将会有多少或将要调用它们,请执行以下操作:http://jsfiddle.net/hk120Lhq/4/
$(".send").click(function() {
var data_array = new Array();
$(".dropped").each(function(){
var item = {};
for(var i in $(this).data()){
item[i] = $(this).data(i);
}
data_array.push(item);
});
var serialized = JSON.stringify(data_array);
$("#result").text(serialized);
});
Run Code Online (Sandbox Code Playgroud)