Das ist was ich bis jetzt habe und die Schuhtypen sind boots, wellingtons, leather, trainers (in that order)
Ich möchte durchlaufen und den Wert zuweisen, damit ich so etwas habe
var shoeArray = { boots : '3', wellingtons: '0', leather : '1', trainers: '3'};
im Moment bekomme ich nur ein Array von {3,0,1,3}
, mit dem ich arbeiten kann, aber es ist nicht sehr hilfreich.
function shoe_types() {
var shoeArray = [];
$('[type=number]').each(function(){
$('span[data-field='+$(this).attr('id')+']').text($(this).val());
shoeArray.Push ( parseInt($(this).val()) );
});
return shoeArray;
}
Überprüfen Sie diese Funktion
function shoe_types() {
var shoeArray = {}; // note this
$('[type=number]').each(function(){
$('span[data-field='+$(this).attr('id')+']').text($(this).val());
shoeArray[$(this).attr('id')] = parseInt($(this).val()) ;
});
return shoeArray;
}
PS: Angenommen, $(this).attr('id')
hat alle Schuharten
Assoziatives Array in Javascript ist das gleiche wie das Objekt
Beispiel:
var a = {};
a["name"] = 12;
a["description"] = "description parameter";
console.log(a); // Object {name: 12, description: "description parameter"}
var b = [];
b["name"] = 12;
b["description"] = "description parameter";
console.log(b); // [name: 12, description: "description parameter"]
Was Sie wollen, ist eine Funktion, die ein object{}
zurückgibt.
function shoe_types(){
var shoeObj = {};
$('[name="number"]').each(function(){
shoeObj[this.id] = this.value;
});
return shoeObj;
}
shoe_types(); // [object Object]
Sie können dies versuchen, um ein assoziiertes Array in Jquery zu erstellen
var arr = {};
$('[type=number]').each(function(){
arr.Push({
$(this).attr('id'): $(this).val()
});
});
console.log(arr);
Auf diese Weise können Sie Ihre gesamten Daten über ajax an das von Ihnen gewünschte Array senden.
wenn $(this).attr('id')
die Art der Schuhe ist, können Sie das versuchen
shoeArray[$(this).attr('id')] = parseInt($(this).val());