Ledsen att behöva starta ytterligare en tråd här men har stött på 2 nya problem som jag skulle behöva lösa...
Problem 1:
Jag vill att ett element skall ändras då jag klickar på "köpknappen" i webbutiken som jag håller på med. Det fungerar nästan, det är bara det att när man köper något så laddas sidan om och då försvinner den styling jag lagt till med jQuery. Min kod ser ut såhär:
Det funkar liksom just i klickmomentet, men sen försvinner det. Måste man lägga till nån kod för att stylingen skall stanna kvar?
Problem 2
Jag försöker göra en enkel tab-meny med jQuery och för det har jag faktiskt tagit kod från vår hemsida och bara ändrat klassnamnen. Men de funkar så klart inte. Så här ser jQueryn ut:
Problem1: Ja, den gör ju rätt, den laddar sidan för du gör en postning till ett formulär, som jag skrev i din förra tråd: Det gå att lösa, med AJAX. Annars måste du sparar ner den i en cookie och sen kör igenom alla cookies på sajten för att hitta vilka den skall sätta paddingen på, känns omständligt.
Sen måste jag säga, är lite frustrerande på det sätt du jobbar, hoppar på andra delar innan du har löst dina andra trådar/problem. Känns som du kommer bygga upp ett berg av problem istället för att gå på det direkt och försöka lösa det.
Ok får försöka plugga lite AJAX då.. Det bästa vore om jag kunde få till en if sats där stylingen ändras bara om kunden har några varor i varukorgen. Men det är väl ännu svårare antar jag?
Jag provade att sätta tid, funkar inte. Fattar inte varför när det funkar fint på vår andra sida..
Ja det är väl inte ett optimalt arbetssätt faktiskt, men sidan måste bli klar nu och detta är dom sista grejerna jag måste fixa. Men du har rätt, det är inte smart att bygga upp ett berg av problem..
Det är också dumt att sidan inte ligger uppe ännu, för det att blivit mycket lättare att visa vad som är fel o så då. Förhoppningsvis kommer den upp denna veckan iaf.
Det är konsolen man ska aktivera i firebug va? Har gjort de o där säger den ingenting. Men om jag klickar på script så står det att det är fel på rad 17 i jquery.ui-min.js-filen. Verkar ju lite konstigt för den borde väl vara testade om den kommer från googleapis?
Det är samma sak dessa två rader, fick fel direkt när jag tog din kod som du har gett, plockade bort
$(document).ready(function() {
Och det fungerade klockrent.
Ett tips är att spara ner $("#tab_menu_menu li a") i ett objekt, då du kör den varje gång för att få en kollektion, så slipper din kod letar upp alla #tab_menu li a varje gång du kör onclick
Inkludera du inte jquery alls? du måste ha jquery tillsammans med jquery-ui. Vilken version av jquery körs?
Det ända jag kan tänka mig som är fel som du gör är att du försöker köra jquery innan den har laddats in för det fungera på: http://jsbin.com/ahitu4 (redigerade om din js kod lite, men funktionen är densamma).
Det är jquery version 1.4.2 som inkluderas i HEAD-tagen. Det är textalk själva som gör det.
All min egen jquery laddas efter den i sidhuvudet (inte HEAD).
ett par rader längre ner, det kommer inte fungera.
när man kör dina koder i firefox med firebug så får jag följande felmeddelande:
jQuery is not defined
[Break on this error] e[d][1].apply(g.element,a)}},contains:...b.ui.isOverAxis(e,d,i)}})}})(jQuery);
jquery-ui.min.js (rad 17)
syntax error
[Break on this error] });</TD><TD CLASS="twsupper"><script type="text/javascript">\n
Så det är inte konstigt att koder inte fungera som det skall.
Går det att göra med javascript/ajax/jquery eller nåt utifrån den htmlstruktur som jag kan se? Eller måste man kunna gå ner djupare i koden för att lösa det?
Om det inte går, så skulle jag vilja göra det möjligt att kundkorgen kan stylas lite annorlunda när det ligger varor i den. Går det att göra?
båda sakerna du be om gå, men det är rätt "mycket jobb" att göra det, postar "lägg till varukorg" skriptet med AJAX, få en response tillbaka från AJAX, ta html strukturen från response datan, ersätt den gamla fältet med det nya varukorgsfältet ifrån response datan. Så hade jag gjort det, även om det är teoretiskt så fungera det (har gjort det tidigare).
1. Om ett element t ex. har padding-left: 0px o så ändra jag det till padding-left: 20px med jQuery så visas de först med padding-left: 0px i kanske 0,5 sek o sen blir de padding-left: 20px. Finns det nåt sätt att åtgärda det så att man ser det med padding-left: 20px direkt när sidan laddas?
2. Kan man göra en insertAfter/appendTo på en <br/> tag i en text med jquery? t ex efter ett visst ord så skall en radbrytning komma?
1. Ja, kör jquery skriptet så fort elementet finns, utan att vänta på DOM-Ready
2. appendTo gå nog inte, eller det lär väl gå men kommer nog ställa till en hel del problem, men insertAfter, så länge du kan hitta rätt <br /> så kan du göra vad du vill med den, att söka upp ord i text: Regex och köra en replace på det.
aa fast de ja menade var att jag vill "inserta" en br-tag efter ordet "vara" i varukorgen tex. det är alltså bara text där utan någon <br>. Det kanske inte går?
ja, det gör du med regex.
hitta elementen du vill ha en linebreak på med jquery, ta dess html, leta upp ordet "vara" (regex (\bvara\b)) och ersätt med "$1<br />".
nej, det är fel, $(".linkbasket") retunera ett jquery objekt, du får loopar igenom hela kollektionen (se $.each) och ta dess orginal HTML och ersätt ogrinal html med den nya formaterade html
eller om du kör den senaste versionen av jquery så kan du använda dig av en funktion direkt i html http://api.jquery.com/html/
276 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849