2

http://jsfiddle.net/hU89p/219/

在下面的示例中,我必须基于选择的复选框创建一个 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};

同样地

4

1 回答 1

13

尝试这个:

我更改了您的选择器以直接查找选中的项目。然后,在循环中,最近的父 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"
  }
]
于 2013-09-02T06:02:03.630 回答