今天在群:Jquery插件交流, 群号是346717337中,有同学问道是否有jquery 把table 数据转换成json的插件。
网上搜索确实有这样的插件
方法1:自己用jquery写个函数
Html:
1
2
3
4
5
6
7
8
|
<
table
id
=
"answered"
>
<
tbody
>
<
tr
>
<
td
data-id
=
"user.email"
>email@email.com</
td
>
<
td
data-id
=
"meme.yodawg"
>Yo Dog! I Heard you liked answers, so I answered your question, with a method wrapped in a jQuery plugin!</
td
>
</
tr
>
</
tbody
>
</
table
>
|
Jquery扩展方法:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
(
function
($) {
$.extend($.fn, {
tableRowsToJSONWithFilter :
function
(filter) {
var
tableSelector =
this
, item, attr, data, _JSON = [];
if
(
typeof
(tableSelector) !==
'object'
) {
return
new
Error(
'Invalid tableSelect!'
);
};
$(tableSelector,
'tr'
).each(
function
(index, tr) {
item = {};
$(
'td'
, $(
this
)).each(
function
(index, td) {
attr = $(td).attr(
'data-id'
);
data = $(td).text();
if
(attr !== undefined && data !==
''
&& filter &&
new
RegExp(filter,
'i'
).test(attr)) {
item[attr] = data;
};
});
_JSON.push(item);
});
return
_JSON;
}
})
})(jQuery);
|
使用:
1
|
$(
'#answered'
).tableRowsToJSONWithFilter(
'yodawg'
);
|
方法2:使用开源插件Table-to-json:
官方地址:http://lightswitch05.github.io/table-to-json/
功能说明:将js对象table转换成javascript对象,输出json数据字符串。
使用方法
1)、引用:
1
2
3
4
|
<script type=
"text/javascript"
src=
"
http://code.jquery.com/jquery-latest.js"
></script
>
<script type=
"text/javascript"
src=
"../src/jquery.tabletojson.js"
></script>
|
2、)调用:
1
2
3
4
5
6
7
|
<script>
$(
'#convert-table'
).click(
function
() {
var
table = $(
'#example-table'
).tableToJSON();
// Convert the table into a javascript object
console.log(table);
alert(JSON.stringify(table));
});
</script>
|
前几天我好像在博客园也看到一篇,忘记我收藏在那里了。找到了,再发一篇。