mboost-dp1
Javascript
- Forside
- ⟨
- Forum
- ⟨
- Programmering
Jeg har 150 linjer som ser sådan her ud:
<tr><td>Vare:</td><td><select id="SelectID1" onchange="showVal(this.value)" name="vare1"><option value="NaN">Vælg vare</option></select></td><td>Antal:</td><td><input type="text" style="width:100px;" name="antal1" id="antal1" onchange="changed(1)" /></td><td>Pris:</td><td><input type="text" style="width:100px;" name="pris1 " id="pris1" onchange="changed(1)" readonly="readonly" /></td><td>I alt:</td><td><input type="text" style="width:100px;" name="ialt1" id="ialt1" readonly="readonly" /></td></tr>
<tr><td>Vare:</td><td><select id="SelectID2" onchange="showVal(this.value)" name="vare2"><option value="NaN">Vælg vare</option></select></td><td>Antal:</td><td><input type="text" style="width:100px;" name="antal2" id="antal2" onchange="changed(2)" /></td><td>Pris:</td><td><input type="text" style="width:100px;" name="pris2 " id="pris2" onchange="changed(2)" readonly="readonly" /></td><td>I alt:</td><td><input type="text" style="width:100px;" name="ialt2" id="ialt2" readonly="readonly" /></td></tr>
<tr><td>Vare:</td><td><select id="SelectID3" onchange="showVal(this.value)" name="vare3"><option value="NaN">Vælg vare</option></select></td><td>Antal:</td><td><input type="text" style="width:100px;" name="antal3" id="antal3" onchange="changed(3)" /></td><td>Pris:</td><td><input type="text" style="width:100px;" name="pris3 " id="pris3" onchange="changed(3)" readonly="readonly" /></td><td>I alt:</td><td><input type="text" style="width:100px;" name="ialt3" id="ialt3" readonly="readonly" /></td></tr>
osv. osv. osv. osv.
Jeg har de her scripts:
<script type="text/javascript">
function changed(number) {
var stk = Number(document.getElementById('antal'+number).value);
var p = Number(document.getElementById('pris'+number).value);
document.getElementById('ialt'+number).value = stk * p;
var total = 0;
for (i = 1; i < 6; i++) {
total += document.getElementById('ialt'+i).value;
}
document.getElementById('total').value = total;
}
function showVal( val ){
document.getElementById("pris1").value=val;
}
window.onload = function () {
var SelectData = {
"Ting 1":"111",
"Ting 2":"222",
"Ting 3":"333",
};
for (i=1;i<=150;i++){
for(var key in SelectData){
var op = document.createElement('option');
op.value=SelectData[key];
op.text=key;
document.getElementById("SelectID"+i).add(op, null);
}
}
}
</script>
Men der er bare så mange fejl...
Jeg nævner nogle:
- Når jeg vælger en ting i dropdown kommer prisen altid til at stå i øverste prisfelt og ikke ud for den dropdownmenu jeg har valgt den i.
- Pludselig er æ, ø og å blevet til underlige tegn
- Hvis der står 222 i et i alt felt kommer der til at stå 0222 i total felt.
Derudover vil jeg gerne have at der kommer en kasse mere hvor der kommer forskellig tekst hvis man vælger en ting i dropdownmenu. F.eks. hvis man vælger "Ting1" kommer der til at stå "Ting1 er bare en prøve" i beskrivelses feltet. Det ville også være fedt hvis der kunne komme et billede af det man vælger i dropdown menu??
Siden jeg laver på ligger i øjeblikket her: http://runescapenews.dk/Pstidsen/webshopprojekt/ko...
<tr><td>Vare:</td><td><select id="SelectID1" onchange="showVal(this.value)" name="vare1"><option value="NaN">Vælg vare</option></select></td><td>Antal:</td><td><input type="text" style="width:100px;" name="antal1" id="antal1" onchange="changed(1)" /></td><td>Pris:</td><td><input type="text" style="width:100px;" name="pris1 " id="pris1" onchange="changed(1)" readonly="readonly" /></td><td>I alt:</td><td><input type="text" style="width:100px;" name="ialt1" id="ialt1" readonly="readonly" /></td></tr>
<tr><td>Vare:</td><td><select id="SelectID2" onchange="showVal(this.value)" name="vare2"><option value="NaN">Vælg vare</option></select></td><td>Antal:</td><td><input type="text" style="width:100px;" name="antal2" id="antal2" onchange="changed(2)" /></td><td>Pris:</td><td><input type="text" style="width:100px;" name="pris2 " id="pris2" onchange="changed(2)" readonly="readonly" /></td><td>I alt:</td><td><input type="text" style="width:100px;" name="ialt2" id="ialt2" readonly="readonly" /></td></tr>
<tr><td>Vare:</td><td><select id="SelectID3" onchange="showVal(this.value)" name="vare3"><option value="NaN">Vælg vare</option></select></td><td>Antal:</td><td><input type="text" style="width:100px;" name="antal3" id="antal3" onchange="changed(3)" /></td><td>Pris:</td><td><input type="text" style="width:100px;" name="pris3 " id="pris3" onchange="changed(3)" readonly="readonly" /></td><td>I alt:</td><td><input type="text" style="width:100px;" name="ialt3" id="ialt3" readonly="readonly" /></td></tr>
osv. osv. osv. osv.
Jeg har de her scripts:
<script type="text/javascript">
function changed(number) {
var stk = Number(document.getElementById('antal'+number).value);
var p = Number(document.getElementById('pris'+number).value);
document.getElementById('ialt'+number).value = stk * p;
var total = 0;
for (i = 1; i < 6; i++) {
total += document.getElementById('ialt'+i).value;
}
document.getElementById('total').value = total;
}
function showVal( val ){
document.getElementById("pris1").value=val;
}
window.onload = function () {
var SelectData = {
"Ting 1":"111",
"Ting 2":"222",
"Ting 3":"333",
};
for (i=1;i<=150;i++){
for(var key in SelectData){
var op = document.createElement('option');
op.value=SelectData[key];
op.text=key;
document.getElementById("SelectID"+i).add(op, null);
}
}
}
</script>
Men der er bare så mange fejl...
Jeg nævner nogle:
- Når jeg vælger en ting i dropdown kommer prisen altid til at stå i øverste prisfelt og ikke ud for den dropdownmenu jeg har valgt den i.
- Pludselig er æ, ø og å blevet til underlige tegn
- Hvis der står 222 i et i alt felt kommer der til at stå 0222 i total felt.
Derudover vil jeg gerne have at der kommer en kasse mere hvor der kommer forskellig tekst hvis man vælger en ting i dropdownmenu. F.eks. hvis man vælger "Ting1" kommer der til at stå "Ting1 er bare en prøve" i beskrivelses feltet. Det ville også være fedt hvis der kunne komme et billede af det man vælger i dropdown menu??
Siden jeg laver på ligger i øjeblikket her: http://runescapenews.dk/Pstidsen/webshopprojekt/ko...
pstidsen (1) skrev:- Når jeg vælger en ting i dropdown kommer prisen altid til at stå i øverste prisfelt og ikke ud for den dropdownmenu jeg har valgt den i.
Øhh... Ja?
function showVal( val ){
document.getElementById("pris1").value=val;
}
Hvad havde du ellers forventet? ;-)
pstidsen (1) skrev:- Pludselig er æ, ø og å blevet til underlige tegn
Der står øverst i dokumentet at det er i UTF8, men det er faktisk i latin-1 (8859-1). Vælg en encoding, og hold dig til det. ;-)
pstidsen (1) skrev:- Hvis der står 222 i et i alt felt kommer der til at stå 0222 i total felt.
Du lægger sammen på en uheldig måde.
var foo = "a" + "b"; // giver "ab"
var bar = "0" + "222"; // giver "0222"
var baz = 0 + 222; // giver 222
Problemet er at tekst-felterne ikke indeholder tal (som ved baz), de indeholder strenge (som ved bar).
Det du gør er:
var foo = 0 + "222"; // giver "0222"
Det du skal gøre er:
var bar = 0 + parseInt("222"); // giver 222
Dvs. du skal ændre denne linje:
total += document.getElementById('ialt'+i).value;
til:
total += parseInt(document.getElementById('ialt'+i).value);
myplacedk (2) skrev:Øhh... Ja?
function showVal( val ){
document.getElementById("pris1").value=val;
}
Hvad havde du ellers forventet? ;-)
At ham der har givet mig koden havde lavet det rigtigt :D hehe. Men nu har jeg ændret til:
function showVal( val ){
document.getElementById('pris'+number).value=val;
}
Uden det virker??
Og hvad med
??pstidsen (1) skrev:Derudover vil jeg gerne have at der kommer en kasse mere hvor der kommer forskellig tekst hvis man vælger en ting i dropdownmenu. F.eks. hvis man vælger "Ting1" kommer der til at stå "Ting1 er bare en prøve" i beskrivelses feltet. Det ville også være fedt hvis der kunne komme et billede af det man vælger i dropdown menu??
Prettified by random JS framework (like prototype)
function changed(number) {
var antal = parseInt($("antal" + number).getValue());
var pris = parseInt($("pris" + number).getValue());
$("ialt" + number).update(antal * pris);
var total = 0;
for (var i = 1; i < 6; i++) {
total += parseInt($("ialt" + i).getValue());
}
$("total").update(total);
}
function showVal(value) {
$("pris1").update(value);
}
Event.observe("onload", function() {
var SelectData = {
"Ting 1": "111",
"Ting 2": "222",
"Ting 3": "333",
};
for (var i = 1; i <= 150; i++) {
for (var key in SelectData) {
$("SelectID" + i).appendChild(
new Element("option", SelectData[key])).update(key);
}
}
});
#5
Ikke at jeg har taget noget som helst #2 / #3 skrev med. Pointen var nu bare at alm. JavaScript er så grimt, og direkte ustabilt (mht. browsere), at man bør benytte prototype/JQuery, hvis man har muligheden.
for (var i = 1; i <= 150; i++) {
for (var key in SelectData) {
$("SelectID" + i).appendChild(
new Element("option", SelectData[key]).update(key));
}
}
Ikke at jeg har taget noget som helst #2 / #3 skrev med. Pointen var nu bare at alm. JavaScript er så grimt, og direkte ustabilt (mht. browsere), at man bør benytte prototype/JQuery, hvis man har muligheden.
pstidsen (8) skrev:Jeg kan INTET js
Lær det, eller overdrag opgaven til nogen som kan det.
Der er grænser for hvor langt man kan komme med "hvad gør jeg så nu?"
Jeg vil ikke påstå at denne opgave ikke er en god begynder-opgave. Men den kan ikke udføres af folk som hverken kan Javascript eller vil lære det. Og hvis du gerne vil lære det, så læs om det. Gør selv en indsats.
Gå til top
Opret dig som bruger i dag
Det er gratis, og du binder dig ikke til noget.
Når du er oprettet som bruger, får du adgang til en lang række af sidens andre muligheder, såsom at udforme siden efter eget ønske og deltage i diskussionerne.