$(document).ready(function(){
loadbyGroup(1);
    $('.by-seller').click(function(){       
    loadbyGroup(2);
  });
  $('.by-users').click(function(){        
    loadbyGroup(1);
  });
  function loadbyGroup(val){ 
    var tempo_array = [{'data':[]}];
    $('.test').click(function(){
        console.log(tempo_array)
    });
    //some if else condition below val == 1 or 2 not necessary
  }

});

Cuando hago clic en el botón '.by-users' y hago clic en el botón .test, se imprime un valor múltiple '[{' data ': []}]' en el registro de la consola y este es mi problema, debería imprimirse una vez como la primera carga de la página cuando hace clic en el botón .test ¿cómo solucionarlo?

1
Miles Selim 12 oct. 2019 a las 01:08

1 respuesta

La mejor respuesta

Está agregando múltiples controladores de clic en la prueba del botón en cada ejecución de la llamada loadbyGroup (), así que elimínelo de la función loadbyGroup.

$(document).ready(function(){

    var tempo_array = [];

    loadbyGroup(1);

    $('.by-seller').click(function(){       
        loadbyGroup(2);
    });

    $('.by-users').click(function(){        
        loadbyGroup(1);
    });

    $('.test').click(function(){
        console.log(tempo_array)
    });

    function loadbyGroup(val){ 
        tempo_array = [{'data':[]}]; // or whatever you want to do with this array
    }
});
0
Manjiri K 11 oct. 2019 a las 22:21