2009-07-23 6 views
0

Y a-t-il un moyen de générer des instructions switch dans jquery/javascript en utilisant une sorte de boucle pour faire le travail pour moi? Par exemple, si j'avais une déclaration comme:basculer l'instruction et les boucles à l'aide de jquery/javascript

switch ($("#play option:selected").text()) { 
    case '1': 
     $("#play_1").slideDown().find("input").addClass("someClass"); 
     break; 
    case '2': 
     $("#play_1").slideDown().find("input").addClass("someClass"); 
     $("#play_2").slideDown().find("input").addClass("someClass"); 
     break; 
} 

Ceci est bien si je ne dispose que quelques options dans mon menu de sélection, mais ce que j'avais 99 options, donc je devais afficher par cas « 99 » 99 nouveaux divs ou quoi qu'ils puissent être?

Répondre

3
for (var i = 1; i <= $("#play option:selected").text(); ++i) { 
    $("#play_"+i).slideDown().find("input").addClass("someClass"); 
} 

Si vous sélectionnez 10 cette boucle trouvera les dix éléments de #play_1 à #play_10 et les animer.

1
for (var i = 1; i <= parseInt($("#play option:selected").text(), 10); i++) { 
    $("#play_" + i).slideDown().find("input").addClass("someClass"); 
} 
+0

@John: J'ai ajouté un radix à 'parseInt()' (au cas où le pour une raison quelconque '.text()' 'retourné 09'). Autre que cela, +1. –

Questions connexes