2009-03-22 5 views
0

Par exemple. il y a 3 variables, 1 est un must, 2 et 3 sont des eithers donc 3 peut être faux tant que 1 et 2 sont vrais, 2 peut être faux tant que 1 et 3 sont vrais.

if(xmlhttp.responseText.indexOf("type:SearchList~")>=0 && (obj == "hDrop" || obj == "iDrop")){ 
} 

ne fonctionne pas pour moi

Quelqu'un peut-il repérer le problème?

+0

"Comment" ne fonctionne-t-il pas? Vous voulez en savoir plus sur l'erreur que vous obtenez? – chakrit

Répondre

2

Aucun problème avec votre script que je peux repérer. Ce test très simple le valide:

var a = "yes"; 
var b = "no2"; 
var c = true; 
alert(c && (a == "yes" || b == 'no')); 

Vérifiez les valeurs de 'obj'. Est-ce une chaîne?

+0

Ugh a découvert que j'avais changé ma variable plus tôt avec un remplacement dom qui ne contenait plus la chaîne dont j'avais besoin. Tout est fixé maintenant: D acclamations – Supernovah

1

Vous code est écrit correctement, mais il peut y avoir des erreurs dans les données que vous comparez donc s'il vous plaît tracer les données, puis vérifiez qu'il exécute la condition correctement vous pouvez suivre en utilisant l'alerte (données);

4

J'ai construit une table de vérité de vos conditions:

1 2 3 R 
------- 
0 X X 0 
1 0 0 0 
1 1 X 1 
1 X 1 1 

Cela résout à 1 & & (2 || 3), donc autre chose qui ne va pas.