Мне нужно получить все элементы внутри 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>
Но это не возвращает никакой ценности.
Вы используете свой доступ к map
div (который не имеет значения, поскольку он не является элементом управления формой), а не вход внутри него.
Вероятно, вам нужен '#item :input'
- ваш селектор.
select
, я использовал .children()
вместо :input
это может помочь вам
var map = {}; $("#item").children().each(function (i, element) { map[$(element).attr("id")] = $(element).val(); } );
serializeArray()
затем преобразуйте результат в объект