Web-TorMedlem sedan nov. 200013 890 inlägg Om ett input-fält heter 1_car kan jag då hitta detta genom att kolla om andra värdet är car?
Idag använder jag:
type=input.name.split('_')[1];
inp=document.getElementsByTagName('input');
for(i=0; i < inp.length; i++){
if(inp[i].name.indexOf(type)==2)
alert("Träff");
}
Det funkar bra enda tills första värdet (1) blir tvåsiffrigt. :l
Web-TorMedlem sedan nov. 200013 890 inlägg Jag är rätt kass på regExp men det här ser ut att funka:
type=input.name.split('_')[1];
inp=document.getElementsByTagName('input');
for(i=0; i < inp.length; i++){
[b]if(inp[i].name.match("_"+type))[/b]
alert("Träff");
}
Lämna gärna feedback på om det är bra eller om det finns något bättre sätt. :)
Peter SMedlem sedan dec. 20025 483 inlägg Annars fungerar ju indexOf() också. Den returnerar -1 om den ej hittar delsträngen, annars dess position i strängen. Så:
...
if (inp[i].name.indexOf(type) != 0)
// ...
...
:)
Web-TorMedlem sedan nov. 200013 890 inlägg Fast det funkar inte om fältet heter 1_car_1 och jag vill hitta 1 på tredje positionen (den ettan som ligger sist alltså).
Peter SMedlem sedan dec. 20025 483 inlägg Enligt din förra kod är du intresserad av att veta om ett visst name-attribut innehåller "_car" (alert("Träff")), det jag då menade är att det går att åstadkomma med indexOf():
...
if (inp[i].name.indexOf("_"+type) != 0)
// ...
...
Eller vill du ha ut ett värde från en eller ett par positioner i strängen, t.ex. allt utom '_' och 'car'?
:)
Web-TorMedlem sedan nov. 200013 890 inlägg Jo, jag förstår hur du menar. Mitt exempel är kraftigt förenklat så på min riktiga kod kan jag nog inte använda indexOf. Nu har jag i alla fall fått match att funka ganska bra.
Tack! :)