Создать JSON из Dom-элементов в `div`

0

Мне нужно получить все элементы внутри div, которые могут быть несколькими inputs, checkboxs, radiobuttons т.д., И преобразовать id или name и value его в читаемый формат JSON.

Я попытался использовать модифицированную версию следующего SO-запроса, который привел к следующему:

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

console.log(data);

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

Но это не возвращает никакой ценности.

  • 0
    используйте serializeArray() затем преобразуйте результат в объект
Теги:

2 ответа

3
Лучший ответ

Вы используете свой доступ к map div (который не имеет значения, поскольку он не является элементом управления формой), а не вход внутри него.

Вероятно, вам нужен '#item :input' - ваш селектор.

  • 0
    Это работает! Надеюсь, что это удастся для всего :)
  • 0
    Обновление: Любая идея, как это будет работать с select , я использовал .children() вместо :input
Показать ещё 4 комментария
0

это может помочь вам

var map = {};

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню