Wpis z mikrobloga

W jaki sposób mogę zmienić zmienną formfields, by była jako key : value i mógłbym sprawdzić tablica jest niepusta?
Przy moim rozwiązaniu otrzymuję tablicę, ale wielkość tablicy, to zawsze 0. Firebug wyświetla mi rezultat [ ], jeżeli kliknę w to, to przenosi mnie do zakładki DOM, gdzie mam breadcrumb Window > [0], a tam już:
key value
key value
przez elementy przechodzę używając (var key in form
fields), ale nie da się policzyć elementów w tablicy.


var form_fields = [];
//create array with pairs key : value
jQuery(
'.filter-dropdown').each(function (i, value) {
    
var element_id = '';
    
var element_description = 
'';
    jQuery(
this).find(
'option:selected').each(function () {
        element_description += 
' ' + jQuery(this).text();
        element_id += 
'-' + jQuery(this).val();
    });
    element_id = element_id.substring(1, element_id.length);
    element_description = element_description.substring(1, element_description.length);
    form_fields[element_id] = element_description;
});

#webdev #jquery #javascript
  • 1
  • Odpowiedz
@mariecziek: Spróbuj tak:

var formfields = [];
//create array with pairs key : value
$('.filter-dropdown').each(function () {
        var elementid = '';
        var elementdescription = '';
        $(this).find('option:selected').each(function () {
                elementdescription += ' ' + $(this).text();
                elementid += '-' + $(this).val();
        });
        elementid = elementid.slice(1);
        elementdescription = slice(1);
        formfields.push({});
        formfields[formfields.length - 1][elementid] = elementdescription;
});
  • Odpowiedz