http://jsfiddle.net/hU89p/219/
在下面的例子中,我必须在seltected复选框上创建一个json对象。虽然选中一个复选框,我必须创建一个json,如
var data={"name":"BlackBerry Bold 9650", "rating":"2/5", "Location":UK};
选择2个两个复选框,我必须创建
var data= {"name":"BlackBerry Bold 9650", "rating":"2/5" ,"Location":UK,"name":"Samsung Galaxy", "rating":"3.5/5", "Location":US};
明智的
答案 0 :(得分:12)
试试这个:
我更改了您的选择器以直接查找选中的项目。然后,在循环中,最接近的父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"
}
]