Kom ihåg mig?
Home Menu

Menu


jquery och live input

Ämnesverktyg Visningsalternativ
Oläst 2013-08-20, 13:54 #1
Fia Fia är inte uppkopplad
Medlem
 
Reg.datum: May 2007
Inlägg: 87
Fia Fia är inte uppkopplad
Medlem
 
Reg.datum: May 2007
Inlägg: 87
Standard jquery och live input

hej!

Har kört fast lite här...Jag har ett formulär som räknar ihop ett "input" value med ett fast value. så här

$j('#debtid').keyup(function(){
if(!isNaN(this.value) && this.value.length!=0) {
sum = parseFloat(this.value) * parseFloat($j('#debtid1').val());
sumink= sum*1.25;
}
$j('#debex').html(sum.toFixed(2));//(har classnamn .totex)
$j('#debink').html(sumink.toFixed(2));

calculateall();
});

också har jag 7 st sådana rader(functioner,fält..), allt väll hittills räknar ihop utan problem men sedan när jag ska räkna ihop dessa rader för totalt värde så fungerar det inte längre, alltså functionen calculateall() fungerar inte.

function calculateall() {
var exsum = 0;

$j('.totex').each(function() {
if(!isNaN(this.value) && this.value.length!=0) {
exsum += parseFloat(this.value);
}

});
$j('#exsum').html(exsum.toFixed(0));

}

jag antar att det har med att göra att alla värdena i dessa div som har classnamn totex är uppdaterade med jquery, men hur får jag då tag på det nya värdet så jag kan fylla i totalvärdet?
Fia är inte uppkopplad   Svara med citatSvara med citat
Oläst 2013-08-20, 14:37 #2
allstars allstars är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Apr 2006
Inlägg: 2 126
allstars allstars är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Apr 2006
Inlägg: 2 126
istället för this.value, använd $(this).val()
Rätt inkonsekvent som du gör nu.

Får du något felmeddelande från javascriptet?

calculateall ska ju ta de nya värdena, eller är det så att det kommer till fält med class "totex" som ska med i beräkningen? Det borde ju också fungera.
allstars är inte uppkopplad   Svara med citatSvara med citat
Oläst 2013-08-20, 18:35 #3
hnn hnn är inte uppkopplad
Banned
 
Reg.datum: Mar 2004
Inlägg: 2 587
hnn hnn är inte uppkopplad
Banned
 
Reg.datum: Mar 2004
Inlägg: 2 587
Ska det inte vara

$j('#debtid').on('keyup', function(){

});

istället för

$j('#debtid').keyup(function(){});
hnn är inte uppkopplad   Svara med citatSvara med citat
Oläst 2013-08-21, 09:49 #4
Fia Fia är inte uppkopplad
Medlem
 
Reg.datum: May 2007
Inlägg: 87
Fia Fia är inte uppkopplad
Medlem
 
Reg.datum: May 2007
Inlägg: 87
.val måste det ju va eftersom det är en div, men det hjälpte inte. Räknar fortfarande inte ihop och .on fungerade inte heller, då slutade den räkna helt, kan bero på att jag kör jquery 1.2.6 och är lite rädd för att uppdatera för jag kör massa andra jquery script som jag misstänker slutar fungera då. och dom har jag inte skrivit själv så där vill man helst slippa gå in och rota. provade med .live också men ville inte då heller. Någon annan som har något förslag?

så här ser html ut

<td align="center" style="border:1px dotted #999;" >Debiterbar tid</td>
<td align="center" style="border:1px dotted #999;">'.$debtid.'h</td>
<td align="center" style="border:1px dotted #999;"><input type="hidden" id="debtid1" value="'.$debtid.'"><input type="text" id="debtid" value=""></td>
<td align="center" style="border:1px dotted #999;"><div id="debex" class="totex" style="display:inline;">0.00</div>kr</td>
<td align="center" style="border:1px dotted #999;"><div id="debink" class="totink" style="display:inline;">0.00</div>kr</td>

Senast redigerad av Fia den 2013-08-21 klockan 09:53
Fia är inte uppkopplad   Svara med citatSvara med citat
Oläst 2013-08-21, 10:03 #5
hnn hnn är inte uppkopplad
Banned
 
Reg.datum: Mar 2004
Inlägg: 2 587
hnn hnn är inte uppkopplad
Banned
 
Reg.datum: Mar 2004
Inlägg: 2 587
Är det en div så ska du använda .html() eller .text().

.html() lägger in html-kod
.text() lägger in ren text. Så skulle du skriva HTML här, så kommer det synas som ren text.
.val() funkar enbart på form-element (input, textarea och dylikt).
hnn är inte uppkopplad   Svara med citatSvara med citat
Oläst 2013-08-21, 11:53 #6
Fia Fia är inte uppkopplad
Medlem
 
Reg.datum: May 2007
Inlägg: 87
Fia Fia är inte uppkopplad
Medlem
 
Reg.datum: May 2007
Inlägg: 87
Jag ska inte lägga in i detta skedet jag ska hämta då är det väll .val?
Fia är inte uppkopplad   Svara med citatSvara med citat
Oläst 2013-08-21, 13:03 #7
hnn hnn är inte uppkopplad
Banned
 
Reg.datum: Mar 2004
Inlägg: 2 587
hnn hnn är inte uppkopplad
Banned
 
Reg.datum: Mar 2004
Inlägg: 2 587
http://api.jquery.com/val/
http://api.jquery.com/text/
http://api.jquery.com/html/
hnn är inte uppkopplad   Svara med citatSvara med citat
Oläst 2013-08-21, 13:56 #8
jonssondesign jonssondesign är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Oct 2010
Inlägg: 709
jonssondesign jonssondesign är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Oct 2010
Inlägg: 709
Precis som hnn säger, så skall du använda .html() eller .text().

I detta fallet skall du använda .text(), annars tar du med dig all ev. html kod som finns inom den div'en.

.text() = hämtar TEXTEN som står inom det angivna elementet
.text("skriv något") = lägger in TEXT inom det angivna elementet

.html() = hämtar HTML+TEXT som står inom det angivna elementet.
.html("<p>text</p>") = lägger in HTML+TEXT inom det angivna elementet.
jonssondesign är inte uppkopplad   Svara med citatSvara med citat
Oläst 2013-08-22, 10:18 #9
Fia Fia är inte uppkopplad
Medlem
 
Reg.datum: May 2007
Inlägg: 87
Fia Fia är inte uppkopplad
Medlem
 
Reg.datum: May 2007
Inlägg: 87
det slutade så här

function calculateall() {

var exsum = 0;
exsum = (Number($j('#debtid').val()) * Number($j('#debtid1').val())) + (Number($j('#enk').val(),10) * Number($j('#enk1').val())) + (Number($j('#kval').val()) * Number($j('#kval1').val())) + (Number($j('#km').val()) * Number($j('#km1').val())) + (Number($j('#kr').val()) * Number($j('#kr1').val())) + (Number($j('#ut').val()) * Number($j('#ut1').val())) + (Number($j('#et').val()) * Number($j('#et1').val()));

inksum=exsum*1.25;

$j('#exsum').html(exsum.toFixed(2));
$j('#inksum').html(inksum.toFixed(2));
}

strunta i de uppdaterde värdena och hämta orginalvärdena och räkna om dem igen.
Fia är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 21:44.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017