30

Salut les amis, suite a une péripétie d’événements sans intérêt je me retrouve contraint de modifier ceci :

function liste(b)
{
document.getElementById('div1').style.display = (b!=1?'none':'block');
}


en ceci

function liste(b)
{
document.getElementById('div1').style.display = ((b!=1?'none':'block')||(b!=2? 'none':'block'));
}


Mais le problème (mhudada!) ceci ne marche pas

le but est ici d'utiliser l'opérateur "ou" pour ( si on n'a pas cliqué sur le bouton 1 ou sur le bouton 2 , la div ne s'affiche pas ) j'ai pourtant respecté le schéma suivant sur http://www.commentcamarche.net/contents/584-javascript-les-operateurs de la manière suivante ((expression1)||(expression2)) mais rien n'y fait , je suis concsient que mon problème est un problème de sytaxe mais j'ai beau essayer des dizaines de façons différentes d'écrire ceci , j'obtiens un résultat nul ou non désiré , une âme charitable pourrais bien me dire ce qui ne vas pas dans cette ligne de code ? confus
Très grand médiocre.

31

((b!=1?'none':'block')||(b!=2? 'none':'block'))

est :

(
(b!=1? 'none':'block')
||
(b!=2? 'none':'block')
)

Autrement dit, tu fais un OU logique entre deux chaines de caractères.
Accessoirement, si par un quelconque miracle le résultat était un booleen, tu continuerais en affectant ce booleen à
document.getElementById('div1').style.display
Autrement dit, document.getElementById('div1').style.display serait égal à TRUE ou FALSE selon les cas.
Bref, ça ne veut rien dire cheeky



Je me demande si ce n'est pas ça que tu cherches :
function liste(b) 
{
   document.getElementById('div1').style.display= 
      (b==1 || b==2 
         ? 'block' 
         : 'none') ;
}
ie tu affiches le div1 si b est égal à 1 ou 2, et sinon tu le caches.

32

Ouais merci beaucoup smile c’est exactement ce que je recherchais grin

( je devrais commencer a faire le point pilou [point décerné a celui qui aide avec succès un débutant en informatique] )
Très grand médiocre.

33

C'était un BTS de quoi que t'as fait ? smile

34

Informatique de réseau ... ou tu fais presque pas de réseau mais beaucoup de C++ / C# mais si ça peut te rassurer , je n'était pas un élève exemplaire grin
Très grand médiocre.

35

Ok. Perso j'ai fait une fac de maths et info, donc j'ai fait des maths et de la physique tritop

36

grin
Très grand médiocre.