Jesper T Medlem sedan nov. 2001 7 144 inlägg Frågan 9 dec. 2002 09:26 #1 link1[3] = new boxData("Virknålar",10|5.3 );
Jag skulle vilja plocka ut värdet före, respektive efter "|".
Hur gör man det?
C colione Medlem sedan juni 2001 4 421 inlägg firstSplit=link1[3].split(",")
finalSplit=firstSplit[1].split("|")
alert(finalSplit[0])
alert(finalSplit[1])
Jag splittar först strängen efter , för att få "Virknålar" och "10|5.3" i en egen array. Därefter splitar jag den delen av arrayen som 10|5.3 ligger i, dessa läggs i en ny array vid namn finalSplit.
Jesper T Medlem sedan nov. 2001 7 144 inlägg Tack, men denna rad kan se ut på flera sätt:
ex.
link1[3] = new boxData("Virknålar",10|5.3);
link2[1] = new boxData("Virknålar",10|5.3);
link0[2] = new boxData("Virknålar",10|5.3);
Skapar det problem då?
Jesper T Medlem sedan nov. 2001 7 144 inlägg Iofs så hamnar "10|5.3" i ett value i en select så att det kanske inte spelar någon roll?!
C colione Medlem sedan juni 2001 4 421 inlägg Nej inte så länge du har fler kommatecken i de olika värdena...Sen kan du ändra såväl indexet som namnet på arrayen (linkx [i ]) hur du vill. sålänge som du har ett kommatecken innan 10|5.3 men du kan ha hur många kommatecken du vill efter...
Jesper T Medlem sedan nov. 2001 7 144 inlägg Det ser ut så här:
<form name="form1" method="post" action="">
<input type="hidden" name="hiddenField" value="[b]10|5.3[/b]">
</form>
Och där ifrån skall värdet splittas.
C colione Medlem sedan juni 2001 4 421 inlägg Du kan lägga det i en funktion om du vill:
function splitme(stringToSplit, firstSeparator, secondSeparator){
firstSplit=stringToSplit.split(firstSeparator)
finalSplit=firstSplit[1].split(secondSeparator)
alert(finalSplit[0])
alert(finalSplit[1])
//return finalSplit
}
Där stringToSplit, firstSeparator, secondSeparator är variablar som du skickar med när du anropar funktionen.
Men när du vill ta hand om värdena då får du skicka iväg arrayen med en return till den funktion som du anropade ifrån med return. Därefter så får du behandla värdena där.
C colione Medlem sedan juni 2001 4 421 inlägg document.form1.hiddenField.value.split("|")
Jesper T Medlem sedan nov. 2001 7 144 inlägg Har ändrat detta 100 gånger nu, vad är fel?
Vill ha värdet till höger om |
<form name="form1">
<input type="text" name="hiddenField" value="10|5.4">
<script>
document.write(document.form1.hiddenField.value[1].split("|"))
</script>
</form>
@nders Medlem sedan juni 2000 32 967 inlägg <form name="form1">
<input type="text" name="hiddenField" value="10|5.4">
<script>
document.write(document.form1.hiddenField.value.split("|")[1]);
</script>
</form>
Mvh,
Jesper T Medlem sedan nov. 2001 7 144 inlägg Nu så strår det "NaN" i fälten.
Nu/funkar ej:
var splittatVarde = (document.TrainForm.MET.value.split("|")[1]);
var calBurnt = Math.round(splittatVarde * document.TrainForm.Vikt.value * duration);
<input type="hidden" name="MET" value="10|5.6">
Förut/funkar:
var calBurnt = Math.round(document.TrainForm.MET.value * document.TrainForm.Vikt.value * duration);
<input type="hidden" name="MET" value="5.6">
Jesper T Medlem sedan nov. 2001 7 144 inlägg Vad kan det vara för fel?
Jesper T Medlem sedan nov. 2001 7 144 inlägg Är det någon som har en idé?
C colione Medlem sedan juni 2001 4 421 inlägg När du splitade görs den om till en sträng. Prova att göra såhär:
var splittatVarde = (document.TrainForm.MET.value.split("|")[1]);
var calBurnt = Math.round([b]eval(splittatVarde)[/b] * document.TrainForm.Vikt.value * duration);
<input type="hidden" name="MET" value="10|5.6">