2010-11-23 6 views
-1

Dans Firebug lorsque je survole la variable SelectList, il ressemble certainement à un tableau.Jquery inArray ne renvoie pas la valeur correcte

if (GroupList != "") { 
    $('select[name^=DDLColumns1] option').each(function(){ 
     if ($(this).val() != "-1") { 
      var ItemsArray = $(this).val().split('|'); 
      var DataTypes = ItemsArray[1]; 
      var TestItem = "[" + ItemsArray[0] + "]"; 

PROBLEM IS HERE---> if (jQuery.inArray(TestItem, SelectList) != -1) { 
        if(DataTypes == 104) 
         NewSelectList += " SUM(CAST(" + ItemsArray[0] + " AS INT)) as " + ItemsArray[0] + ","; 
       else 
        NewSelectList += " max(" + ItemsArray[0] + ") as " + ItemsArray[0] + ","; 
      } 

     } 
    }); 
if(NewSelectList.length > 0) { 
     NewSelectList = NewSelectList.substring(0, NewSelectList.length - 1); 
     SelectList = NewSelectList; 
    } 

}//end of if GroupList is not empty 
+0

Juste un coup de poignard dans l'obscurité, si (jQuery.inArray (tabEléments [0], SelectList)! = -1) { – Gazler

+0

Votre code est un gâchis ... va le nettoyer ... –

+0

est quelqu'un qui va répondre à la question réelle ??? – Lyle

Répondre

0
if($.isArray(SelectList) == false) 
    SelectList = SelectList.split(','); 
2

Qu'en est-il du nettoyage en premier? Vos erreurs devraient être claires si vous le faites.

if (GroupList != "") { 
    $('select[name^=DDLColumns1] option').each(function() { 
     if ($(this).val() != "-1") { 
      var ItemsArray = $(this).val().split('|'); 
      var DataTypes = ItemsArray[1]; 
      var TestItem = "[" + ItemsArray[0] + "]"; 

      if (jQuery.inArray(TestItem, SelectList) != -1) { 
       if(DataTypes == 104) 
        NewSelectList += " SUM(CAST(" + ItemsArray[0] + " AS INT)) as " + ItemsArray[0] + ","; 

       else // <--- why all of a sudden no {}? 

        NewSelectList += " max(" + ItemsArray[0] + ") as " + ItemsArray[0] + ","; 
      } 
      //} //<--- why is commented out? it breaks everything 

     } //<-- this closes the callback 

}); //<-- broken close of the if 

if(NewSelectList.length > 0) { 
    NewSelectList = NewSelectList.substring(0, NewSelectList.length - 1); 
    SelectList = NewSelectList; 
} 



} // <---- what is this for? yeah it's broken 

PS: Normalement, les variables commencent par une lettre minuscule et les classes commencent par une majuscule un

+0

Veuillez regarder à nouveau, je vois 5 {'s et 5} de – Lyle

+0

@Lyle Cela ne le rend pas bon, l'ordre de la fermeture '} –

+0

Pourquoi pas {s} parce que l'instruction if et else ne fait qu'exécuter une instruction – Lyle

Questions connexes