http://jsfiddle.net/hU89p/219/
在下面的示例中,我必须基于选定的复选框创建一个 json 对象。在选择一个复选框时,我必须创建一个类似于 json 的对象
var data={"name":"BlackBerry Bold 9650", "rating":"2/5", "Location":UK};
通过选择我必须创建的两个复选框
var data= {"name":"BlackBerry Bold 9650", "rating":"2/5" ,"Location":UK,"name":"Samsung Galaxy", "rating":"3.5/5", "Location":US};
同样
最佳答案
试试这个:
我更改了您的选择器以直接查找选中的项目。然后,在循环中,最接近的父tr。
然后从每个 td 中提取适当的值并将其存储在对象中。此代码依赖于索引,如果内容发生更改,则可能会很脆弱。您可能想为选择器使用类或其他标记。
function myfunc(ele) {
var values = [];
$.each($("input[name='case[]']:checked:enabled"),
function () {
var $tr = $(this).closest('tr');
values.push({
name: $tr.find('td:eq(1)').text(),
rating: $tr.find('td:eq(2)').text(),
location: $tr.find('td:eq(3)').text()
});
});
alert("val---" + JSON.stringify(values));
}
结果:
values = [
{
"name": "BlackBerry Bold 9650",
"rating": "2/5",
"location": "UK"
},
{
"name": "Samsung Galaxy",
"rating": "3.5/5",
"location": "US"
}
]
关于在循环内创建 json 对象的 Jquery 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18566400/