11486 sujets

JavaScript, DOM et API Web HTML5

Bonjour a tous,

J'ai un slider,i conteannt different input ( chaque input avec des value differentes)

Im'trying to dispaly in the front end each value of the input selected for each slide via:
J'essai d'afficher en front end la valeur des input selectionner uniquement via:

 var ckbox = $(".flexbox-container input");
        var chkId = '';
        $('input').on('click', function() {
          
          if (ckbox.is(':checked')) {
            $("flexbox-container input:checked").each ( function() {
                     chkId = $(this).val() + ",";
              chkId = chkId.slice(0, -1);
             });
             
             document.getElementById("score").innerHTML = ( $(this).val() )
 
          }     
        });

Cela fonctionne parfaitement sur le premier slide. Mai au slide suivants, aucune valeurs ne s'affiche !

Lorsquue j'affiche les resultats dans une alert box, les valeurs des autres slide dans l'alerte box s'affichent ...

var ckbox = $(".flexbox-container input");
        var chkId = '';
        $('input').on('click', function() {
          
          if (ckbox.is(':checked')) {
            $("flexbox-container input:checked").each ( function() {
                     chkId = $(this).val() + ",";
              chkId = chkId.slice(0, -1);
             });
             
              alert ( $(this).val() ); // return all values of checkboxes checked
             alert(chkId); 
          }     
        });


Si une personne peut m'aider, ce serait vraiment super !

Merci pour tout !
Modifié par tibewww (26 Sep 2017 - 14:10)
Bonjour,
Tu devrais écrire:
chkId += $(this).val() + ",";
car actuellement, tu écrases la valeur précédentes à chaque passage dans la boucle.

Sinon, pour ce genre de chose, je ferais plutôt avec un array:

var chkId = [];
...
... .each ( function() {
                     chkId[] = $(this).val();
}
/* alert(chkId.join()); Ou mieux en utilisant la console des outils de développement  du navigateur ou firebug: */
console.log(chkId.join(), chkId);


Ce qui t'évite d'avoir une virgule comme dernier caractère.
Modifié par loicbcn (27 Sep 2017 - 08:16)