Jquery获取Div的嵌套输入,放置在Object中

时间:2015-01-27 07:02:20

标签: javascript jquery nested-loops

我在这个嵌套循环中的智慧结束。 我正在尝试创建一个对象,其中嵌套对象按包含div id分组。 到目前为止,这就是我所拥有的:

$('#survey-submit').on('click', function (e) {


    var formData = {};
    var item = {};
        $("div[id^='question-']").each(function () {
            var id = '#' + $(this).attr('id');
            var $this = $(this);
            formData[id] = $this.children('input, select,checkbox').each(function () {
                item[this.name] = this.value;
            });


            //console.debug(formData);
        });
        console.debug(formData);
    return false;
});

控制台日志的结果是具有start问题的div的所有输入元素,我得到所有动态命名的新对象的预期数量,但它们都包含相同的内容。

每个对象的内容并不特定于我想要生成的这个对象,任何帮助都将不胜感激!

1 个答案:

答案 0 :(得分:0)

我在这里找到了问题的解决方案:jquery how to get form element types, names and values

我这样做了:

    $("div[id^='question-']").each(function () {
            var id = '#' + $(this).attr('id');
            var $this = $(this);
      var inputs= $(id+' :input').map(function(index, elm) {
    return {name: elm.name, value: $(elm).val()};
}).get();
       formData[id]=inputs;
        });