Bonjour,

Je cherche a recuperer l'ordre de selection de plusieurs chekbox. En cherchant sur google, j'ai trouvé un script qui correspond a mon attente.
Le probleme c'est que je souhaiterais maintenant stocker le resultat de la selection dans un input hidden mais je n'y arrive pas. Par contre, l'affichage dans une div avec son id fonctionne parfaitement.

Voici mon code
Le script

var order = [];

$("[type=checkbox]").on('change', function() { // always use change event
    var idx = order.indexOf(this);

    if (idx !== -1) {         // if already in array
        order.splice(idx, 1); // make sure we remove it
    }

    if (this.checked) {    // if checked
        order.push(this);  // add to end of array
    }

    $('#result').html(JSON.stringify($.map(order, function(elem) {
        return $(elem).closest('label').text().trim();
    })));
});

Le html

<label class="checkbox-inline"><input type="checkbox" name="order[]" id="tDep<?php echo $i; ?>" value="T">T</label>
<label class="checkbox-inline"><input type="checkbox" name="order[]" id="tdDep<?php echo $i; ?>" value="TD">TD</label>
<label class="checkbox-inline"><input type="checkbox" name="order[]" id="hDep<?php echo $i; ?>" value="H">H</label>
<label class="checkbox-inline"><input type="checkbox" name="order[]" id="trDep<?php echo $i; ?>" value="TR">TR</label>
<label class="checkbox-inline"><input type="checkbox" name="order[]" id="rDep<?php echo $i; ?>" value="R">R</label>
<label class="checkbox-inline"><input type="checkbox" name="order[]" id="kmDep<?php echo $i; ?>" value="KM">KM</label>
<label class="checkbox-inline"><input type="checkbox" name="order[]" id="dtcDep<?php echo $i; ?>" value="DTC">DTC</label>
<label class="checkbox-inline"><input type="checkbox" name="order[]" id="sDep<?php echo $i; ?>" value="S">S</label><br>
<label>Recap : <input type="text" name="recap" id="recap<?php echo $i; ?>" ></label>
<div id="result"></div>

Je souhaiterais que le resultatne s'affiche pas dans la div mais qu'il soit affecté dans la valeur de l'hidden.

Si quelqu'un a des piste, merci d'avance.

2 réponses


Salut,

Pourquoi stoker le résultat de la sélection dans un input hidden ? Il faudrait nous en dire davantage sur le fonctionnement de la page, car je n'arrive pas à comprendre ce que tu cherches à faire.

En fait je met a jour mon formulaire via un autre script. Et comme je serialize chaque checkbox je ne vois pas comment inclure le resultat de mon script dans mon script ajax sauf en l'incluant dans un hidden que je serialize ensuite avec mes checkbox. Y'a certainement mieux a faire mais mon niveau actuel en jquery/ajax est assez faible.

le code de mon script qui envois le formulaire


$(document).ready(function() {  
    $("form").submit(function () {
            $.post("update.php",$(this).serialize(),function(texte){
                $("div#update").html(texte);
            });
            return false; 
    });   
 });

En esperant avoir été un peu plius clair.