我希望有人能看到我在这里出错的地方,我在尝试通过遍历所有列表项来创建JSON对象时遇到了一些问题。
基本上,我想要实现的目标是获得一个PHP数组:
$positions = array(
1 => 2,
2 => 3,
3 => 4,
4 => 5,
5 => 6,
6 => 1);
我需要创建一个包含所有列表项的JSON对象,以便稍后可以使用AJAX发送它。我需要它采用这种格式:
[{1:2, 2:3, 3:4, 4:5, 5:6, 6:1}]
我目前拥有的代码是:
<li data-serial="6" data-newpos="1"></li>
jsonObj = [];
$("li.item").each(function() {
var id = $(this).attr('data-serial');
jsonObj.push({
id: $(this).attr('data-newpos')
});
});
alert(JSON.stringify(jsonObj));
但是这给了我这个不是我需要的结果:
[{"id":"1"},{"id":"2"},{"id":"3"},{"id":"4"},{"id":"5"},{"id":"6"}]
任何帮助都将不胜感激!
答案 0 :(得分:3)
试试这个:
jsonObj = {};
$("li.item").each(function() {
var id = $(this).attr('data-serial');
jsonObj[ id ] = $(this).attr('data-newpos');
});
这将为您提供此表单的对象(假设data.
属性正确)
{"1":"2", "2":"3", "3":"4", "4":"5", "5":"6", "6":"1"}