wake-up-neo.com

erstellen Sie ein assoziatives Array in Jquery

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;        
}
13
LeBlaireau

Ü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

22
zzlalani

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"]
7
Mykyta Shyrin

Was Sie wollen, ist eine Funktion, die ein object{} zurückgibt.

LIVE DEMO

function shoe_types(){
   var shoeObj = {};
   $('[name="number"]').each(function(){
     shoeObj[this.id] = this.value;
   });
   return shoeObj;
}

shoe_types(); // [object Object]
5
Roko C. Buljan

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.

2
Dushyant Dagar

wenn $(this).attr('id') die Art der Schuhe ist, können Sie das versuchen

shoeArray[$(this).attr('id')] = parseInt($(this).val());
0
jbduzan