从`div`中的Dom元素创建JSON

时间:2014-01-21 12:33:27

标签: jquery html json

我需要获取div内的所有元素,这些元素可以是多个inputscheckboxsradiobuttons等,并转换id或其namevalueJSON可读格式。

我尝试使用the following SO question的修改版本,结果如​​下:

var data = $('#item').map(function() {
    return {
        content: $(this).val()
    };
}).get();

console.log(data);

<div id="item">
    <input class="item" id="test" value="data" />
</div>

但它没有返回任何价值。

2 个答案:

答案 0 :(得分:3)

您正在运行map访问div(由于它不是表单控件而没有值),而不是其中的输入。

您可能希望'#item :input'是您的选择器。

答案 1 :(得分:0)

这可能会对你有所帮助

var map = {};

    $("#item").children().each(function (i, element)
       {
          map[$(element).attr("id")] = $(element).val();
        }
     );