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?
13 svar · 262 visningar · startad av Jesper T
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?
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.
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å?
Iofs så hamnar "10|5.3" i ett value i en select så att det kanske inte spelar någon roll?!
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...
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.
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.
document.form1.hiddenField.value.split("|")
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>
<form name="form1">
<input type="text" name="hiddenField" value="10|5.4">
<script>
document.write(document.form1.hiddenField.value.split("|")[1]);
</script>
</form>
Mvh,
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">
Vad kan det vara för fel?
Är det någon som har en idé?
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">