如何使用jquery每个HTML dom和get属性变成JSON

我想获取html dom属性并在提交表单时变成JSON。

这是html表单元素:

1、question1?
2、question2?

而JSON是这样的:

 [{ { "question": "1、question1?", "ask": { ["type": "checkbox", "name": "yes", "value": "yes", "isChecked": 0], ["type": "checkbox", "name": "no", "value": "no", "isChecked": 1] } },{ "question": "2、question2?", "ask": { ["type": "checkbox", "name": "below_60", "value": "60", "isChecked": 1], ["type": "checkbox", "name": "btw_60_80", "value": "60-80", "isChecked": 1], ["type": "checkbox", "name": "btw_80_100", "value": "80-100", "isChecked": 1] } } }] 

试试这个:

 $(function(){ var data = []; $('fieldset').each(function(){ var fieldset = $(this); var item = { question: fieldset.find('legend').text(), ask: [] }; fieldset.find('input').each(function(){ var input = $(this); item.ask.push({ type: input.attr('type'), name: input.attr('name'), isChecked: input.is(':checked') ? '1' : '0', value: fieldset.find('[for="' + input.attr('id') + '"]').text() }); }); data.push(item); }); console.log(data); }); 

演示: http : //jsfiddle.net/Qf3pX/

看起来像http://api.jquery.com/serialize/可能会帮助你。