shin
shin

Reputation: 32721

How to shorten input value in jquery

I have the following jquery and it is getting long.

Is there any way to shorten this?

Thanks in advance.

$('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");

Upvotes: 0

Views: 123

Answers (2)

kennytm
kennytm

Reputation: 523484

You could construct the selector dynamically (assuming you have added Array.map)...

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

Or .filter the result,

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");

Upvotes: 0

James Curran
James Curran

Reputation: 103535

Give all those input elements a common class (manually -- type it in)

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


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

Upvotes: 1

Related Questions