Расширение объекта с помощью jquery
У меня есть 2 div, где 1-й div имеет 2 текстовых поля, в то время как другой div имеет несколько текстовых полей
Вручную я добавляю имя и значение текстового поля к объекту для 1-го div. Но для второго div я получаю все имена и значения текстовых полей с помощью jQuery, чтобы избежать большого блока аналогичного кода.
var obj = {}; obj.LayoutName = document.getElementById("aSL_stripLayoutName").value; obj.Version = document.getElementById("aSL_StripLayoutVersion").value;
Затем я хочу расширить объект и добавить все имена текстовых полей и значения в ' obj ' с помощью extend,
$("#aSL_stripLayoutDetails-UpperSection :text").each(function(){//TODO});
Что я уже пробовал:
Я попробовал ниже, и пример работает, добавляя известное имя текстового поля "StripDimX" и значение "333".
$.extend(obj, {StripDimX : "333"});
Если я хочу получить имя, я использую это внутри приведенной ниже функции
document.getElementById(this.id).name
и это за ценность
document.getElementById(this.id).value
Но моя проблема заключается в том, как добавить имена и значения к объекту?
$("#aSL_stripLayoutDetails-UpperSection :text").each(function(){ //$.extend(obj, {StripDimX : "333"}); });
Это конечно не работает:
$("#aSL_stripLayoutDetails-UpperSection :text").each(function(){ $.extend(obj, {document.getElementById(this.id).name: document.getElementById(this.id).value}); });
Затем я попробовал ниже, и имя в порядке, но значение добавляется в виде массива:
$("#aSL_stripLayoutDetails-UpperSection :text").each(function(){ var n = document.getElementById(this.id).name; var v = document.getElementById(this.id).value; $.extend(obj, { [n] : [v]}); });