user1937021
user1937021

Reputation: 10791

create object array using attributes of list

I want to create an object array from values/attributes in a list, but the following doesn't work:

$('ul.list').each(function() {
        var localproducts = [];
        $(this).find('li').each(function(){
                var $itm = $(this);
                localproducts.push( dataid : $itm.attr('data-id'), data-package: $itm.attr('data-package'), package-id: ($itm.children('.packageid').text()) );
            });
        catalogue.push(localproducts);  

        });

Thanks for the help.

Upvotes: 2

Views: 19037

Answers (1)

ATOzTOA
ATOzTOA

Reputation: 35950

Object should be defined inside curly braces {}. Keys should be in quotes.

Working code:

$('ul.list').each(function() {
    var localproducts = [];
    $(this).find('li').each(function(){
            var $itm = $(this);
            localproducts.push({
                'dataid' : $itm.attr('data-id'), 
                'data-package' : $itm.attr('data-package'), 
                'package-id' : ($itm.children('.packageid').text())
            });
        });
    catalogue.push(localproducts);  
});

Upvotes: 11

Related Questions