2010-03-03 1 views
0

J'ai un problème avec le remplissage d'une liste de saisie semi-automatique basée sur une entrée précédente. Fondamentalement, j'ai environ 40 tableaux différents contenant des modèles de voitures et je veux remplir la liste de saisie semi-automatique en fonction de l'entrée précédente. Ce que je veux faire est:Problème de tableau jQuery

  1. obtenir la valeur de l'entrée précédente (le nom de c'est le même nom que l'un des tableaux)
  2. Sélectionnez le tableau approprié en fonction de cette entrée.
  3. Passez ce tableau dans la fonction de saisie semi-automatique.

Le problème est que je ne sais pas comment sélectionner un tableau basé sur une chaîne. Quelqu'un peut-il proposer une solution?

Merci.

Répondre

0

je ne commencerais pas avec 40 tableaux différents dans 40 variables, je les mettrais tout en un seul objet:

var cars = { 
    'Ford' : ['Mustang', 'Prefect'], 
    'Toyota' : ['Corolla', 'Corona'] 
}; 

Vous pouvez alors choisir le bon comme ceci:

cars.Ford 
// or 
cars['Ford'] 
// or, more likely how you'll use it: 

var make = someSelectBox.value; 
cars[make] 
+0

Cela m'est venu juste après avoir terminé l'écriture des tableaux - d'oh! Dites-moi que je voulais sélectionner la pensée tableau «Ford»? Comment est-il fait? – Ger

+0

Excellent! Merci beaucoup! – Ger

0

Je pense que vous êtes sur une piste beaucoup plus rentable avec nickf, mais vous pouvez take advantage of $.map(). Ce serait quelque chose comme:

testArray = $.map(oldArray, function(n){ 
    return (n == 'string'); 
}); 

Et puis, si testArray contient quelque chose, bam.

+1

Étape 1: objets JavaScript. Étape 2: ** nickf **. Étape 3: Profit! yessss – nickf

+0

Haha! Oui c'est vrai. –