Можно ли повторить имя моего объекта в jQuery .each? - PullRequest
0 голосов
/ 17 января 2020

Я использовал некоторый код для l oop через 42 раза и создал 3 пустых объекта на l oop.

jQuery.each(vote_cat_array, function(index, value) { 
    window['vote_cat_'+value+'_default_values_left'] = {};
    window['vote_cat_'+value+'_default_values_middle'] = {};
    window['vote_cat_'+value+'_default_values_right'] = {};
});

Позже в моем коде я помещаю данные в каждый объект а затем дальше, я получаю данные от каждого объекта для использования в другом месте на моей странице.

Вот этот код в его нынешнем виде:

jQuery('.reset').on('click', function(){

    var reset_selector = jQuery(this).attr('id');

    if(reset_selector == 'vote_cat_1'){
        jQuery.each(vote_cat_1_default_values_left, function(key, value) {   
            jQuery('.'+reset_selector+'.gf_left_third select').append(jQuery("<option></option>").attr("value",key).text(value)); 
        });
    }

    if(reset_selector == 'vote_cat_2'){
        jQuery.each(vote_cat_2_default_values_left, function(key, value) {   
            jQuery('.'+reset_selector+'.gf_left_third select').append(jQuery("<option></option>").attr("value",key).text(value)); 
        });
    }

});

Я бы не хотел Я должен включить этот код 42 раза вручную, для каждой итерации числительного c, поэтому мне интересно, есть ли способ просто получить код один раз и итерировать число в имени объекта через некоторый тип l oop?

Я провел какое-то исследование, и я не уверен, возможно ли это или нет, поэтому я решил спросить здесь, а не тратить больше времени, пытаясь выяснить, возможно ли это.

Мне просто нужно автоматически повторить число в имени объекта, чтобы оно проходило через al oop, поэтому я хотел бы иметь возможность сделать что-то вроде:

jQuery('.reset').on('click', function(){

    var reset_selector = jQuery(this).attr('id');

    jQuery.each(vote_cat_+iteration+_default_values_left, function(key, value) {   
        jQuery('.'+reset_selector+'.gf_left_third select').append(jQuery("<option></option>").attr("value",key).text(value)); 
    });
});

Или даже:

jQuery('.reset').on('click', function(){

    var reset_selector = jQuery(this).attr('id');

    jQuery.each(reset_selector+'_default_values_left', function(key, value) {   
        jQuery('.'+reset_selector+'.gf_left_third select').append(jQuery("<option></option>").attr("value",key).text(value)); 
    });
});

Возможно ли что-то подобное или я просто это нужно делать вручную?

Заранее спасибо

...