Bonjour,

Ce que je fais

J'ai actuellement des divs contenant des inputs avec des informations d'une personne.
J'aimerais afficher certaines seulement s'il y a des données à savoir les procurations.
Pour ce qui est des données, elles proviennent d'un fichier JSON qu'on va chercher une fois la personne selectionné dans une recherche précédente.

        divInfo = document.getElementById('cacher');
        divInfo.style.display = 'none';
        $("#nom").val(ui.item.nom);
        $("#prenom").val(ui.item.prenom);
        $("#cp").val(ui.item.cp);
        $("#ville").val(ui.item.ville);
        if(ui.item.procuration != ''){
            procu1 = document.getElementById('proc1');
            procu1.style.display = "block";
            $("#procuration-1").val(ui.item.procuration);
        }
        if(ui.item.procuration1 !== ''){
            procu2 = document.getElementById('proc2');
            procu2.style.display = "block";
            $("#procuration-2").val(ui.item.procuration2);}
        if(ui.item.procuration3 !== ''){
            $("#procuration-3").val(ui.item.procuration3);}
        if(ui.item.procuration4 !== ''){
            $("#procuration-4").val(ui.item.procuration4);}

Ce que j'obtiens

Cela affiche quand même l'input même si celui-ci contient rien. Une idée ?

1 réponse


Salut, si je comprends bien avec ce code tu essayes de savoir si il y a du contenu ?

if(ui.item.procuration1 !== ''){
            procu2 = document.getElementById('proc2');
            procu2.style.display = "block";
            $("#procuration-2").val(ui.item.procuration2);}
        if(ui.item.procuration3 !== ''){
            $("#procuration-3").val(ui.item.procuration3);}
        if(ui.item.procuration4 !== ''){
            $("#procuration-4").val(ui.item.procuration4);}

Si tu essayes de savoir si une chaîne de caractère n'est pas vide en JS tu peux jouer avec la propriété .length, voir lien MDN