2010-08-06 8 views
0

J'ai la requête suivante et ça devient long.Comment raccourcir la valeur d'entrée dans jquery

Y at-il un moyen de raccourcir cela?

Merci d'avance.

$('input[value|=Kjøp],input[value|=Buy],input[value|=Fortsett å handle],input[value|=Skriv deg inn her],input[value|=Logg inn],input[value|=Lagre],input[value|=Logg deg på],input[value|=Continue shopping],input[value|=Register as a customer],input[value|=Login],input[value|=Gå til kassen],input[value|=Proceed to checkout],input[value|=Save],input[value|=Fullfør bestillingen],input[value|=Confirm the order],input[value|=Neste],input[value|=Next],input[value|=Forrige],input[value|=Back],input[value|=Forsett til betaling],input[value|=Continue to make the payment],input[value|=Send],input[value|=Logg ut],input[value|=Log off],input[value|=Rediger dine kundeopplysninger],input[value|=Edit your information]').addClass("buybtn"); 
+2

Y a-t-il une raison pour laquelle vous devez ajouter dynamiquement la classe? Il semble que vous sachiez quels champs d'entrée vous devez définir au moment de la compilation, pourquoi ne pas simplement ajouter la classe au moment de la compilation? – sgriffinusa

Répondre

1

Donner à tous ces éléments input une classe commune (manuellement - entrez dans)

<input class="chooseMe" value="Kjøp" /> 


$('input.chooseMe').addClass("buybtn"); 
+1

Hmm .. pourrait aussi bien taper dans la classe buybtn manuellement :) – Jeff

0

Vous pouvez construire le sélecteur dynamique (en supposant que vous avez ajouté Array.map) ...

values = ['Kjøp', 'Buy', 'Fortsett å handle', ...]; 
sel = values.map(function(x){return 'input[value|='+x+']'}).join(',') 
$(sel).addClass("buybtn"); 

Ou .filter le résultat,

values = {'Kjøp':1, 'Buy':1, 'Fortsett å handle':1, ...}; 
$('input').filter(function() { 
    var val = this.value(); 
    var minus = val.indexOf('-'); 
    if (minus >= 0) 
    val = val.substr(0, minus); 
    return val in values; 
}).addClass("buybtn"); 
Questions connexes