Kom ihåg mig?
Home Menu

Menu


jQuery problem med inläsning av länk

Ämnesverktyg Visningsalternativ
Oläst 2011-01-21, 02:12 #1
Helix Helix är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Dec 2003
Inlägg: 2 829
Helix Helix är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Dec 2003
Inlägg: 2 829
Standard jQuery problem med inläsning av länk

Antar att det finnsmånga här som har erfarenhet av jQuery.

Sitter med en funktion som läser in värdet från "value" i HTML-koden. Dock är värdet en länk med "&"-tecknet och det får funktionen att sluta fungera. Testar jag med "&"-tecknet för att testa vad det är som stör, så fungerar det, men tyvärr kan jag inte plocka ut tecknet permanent.

HTML koden:
Kod:
<option value="http://domain.com/links.php?id_category=4&amp;orderby=name&amp;orderway=asc" >Link 1</option>

-
-
-
JS:
Kod:
$(".dropdown dd ul li a").click(function() {
    var text = $(this).html();
    $(".dropdown dt a").html(text);
    $(".dropdown dd ul").hide();
    var source = $("#source");
    source.val($(this).find("span.value").html())  // Antar att problemet ligger här
});
Tror att problemet ligger i sista raden. Någon som stött på detta och har kanske en lösning?
Helix är inte uppkopplad   Svara med citatSvara med citat
Oläst 2011-01-21, 07:44 #2
nosnaj nosnaj är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Mar 2005
Inlägg: 1 012
nosnaj nosnaj är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Mar 2005
Inlägg: 1 012
Nu är jag morgontrött men du hämtar värdet från en span med class value?

Ville du inte hämta värdet av attributet value på din option?
nosnaj är inte uppkopplad   Svara med citatSvara med citat
Oläst 2011-01-21, 08:06 #3
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
source.val känns fel här.
Det är väl bättre att hämta ut värdet från den option som är vald istället!?

$("#source option:selected").val()
allstars är inte uppkopplad   Svara med citatSvara med citat
Oläst 2011-01-21, 11:03 #4
tartareandesire tartareandesire är inte uppkopplad
Supermoderator
 
Reg.datum: Jan 2004
Inlägg: 11 585
tartareandesire tartareandesire är inte uppkopplad
Supermoderator
 
Reg.datum: Jan 2004
Inlägg: 11 585
Koden känns tämligen förvirrande, inte helt lyckat med klassnamnet value i sammanhanget kanske Vad är det för span? Som allstars påpekar går det alldeles utmärkt att direkt hämta värdet från ett val och normalt sett brukar man använda change istället för click som event på en select. Känns som en del relevant html saknas i exemplet.
__________________
Full-stack developer, free for smaller assignments
tartareandesire är inte uppkopplad   Svara med citatSvara med citat
Oläst 2011-01-21, 11:17 #5
Helix Helix är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Dec 2003
Inlägg: 2 829
Helix Helix är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Dec 2003
Inlägg: 2 829
Uppskattar alla var.

Ja, jag kanske har helt fel. Det var sent igår borde kanske ge länken till hela koden.

Här finns koden i sin helhet: http://www.jankoatwarpspeed.com/exam...2DropDown.html

Om man tar den koden, sätter in "&" bland "values" så fungerar den inte längre.
Helix är inte uppkopplad   Svara med citatSvara med citat
Oläst 2011-01-21, 15:50 #6
tartareandesire tartareandesire är inte uppkopplad
Supermoderator
 
Reg.datum: Jan 2004
Inlägg: 11 585
tartareandesire tartareandesire är inte uppkopplad
Supermoderator
 
Reg.datum: Jan 2004
Inlägg: 11 585
Snabbfix:
Kod:
source.val($(this).find("span.value").html().replace('&amp;', '&'))
__________________
Full-stack developer, free for smaller assignments
tartareandesire är inte uppkopplad   Svara med citatSvara med citat
Oläst 2011-01-21, 17:40 #7
Helix Helix är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Dec 2003
Inlägg: 2 829
Helix Helix är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Dec 2003
Inlägg: 2 829
Tusen tack. Är inte så bra på JS och detta hjälpte! Klockrent!
Helix är inte uppkopplad   Svara med citatSvara med citat
Oläst 2011-01-21, 18:48 #8
Helix Helix är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Dec 2003
Inlägg: 2 829
Helix Helix är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Dec 2003
Inlägg: 2 829
Citat:
Ursprungligen postat av tartareandesire Visa inlägg
Snabbfix:
Kod:
source.val($(this).find("span.value").html().replace('&amp;', '&'))
Nu var jag för snabb att dra slutsatser

Den verkar klara en instans av &amp; eller & . Dessutom om man har två sådana i länken så fungerar inte scriptet. Med enbart en går det.

Länk fungerar om ex: http://domain.com?kalle=1&pelle=2
Länk fungerar inte om ex: http://domain.com?kalle=1&pelle=2&olle=2


Tror jag ger upp ...


... hittade dock lösning nu. Ändrade html() till text() . Får se om det fungerar i långa loppet

Senast redigerad av Helix den 2011-01-21 klockan 19:26
Helix är inte uppkopplad   Svara med citatSvara med citat
Oläst 2011-01-21, 20:10 #9
emilvs avatar
emilv emilv är inte uppkopplad
Bara ett inlägg till!
 
Reg.datum: Feb 2004
Inlägg: 1 564
emilv emilv är inte uppkopplad
Bara ett inlägg till!
emilvs avatar
 
Reg.datum: Feb 2004
Inlägg: 1 564
Det är .text() du ska använda så din förändring är rätt :-)
Att ersätta HTML-entiteterna är en rätt instabil lösning, som du själv märkte.
emilv ä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 01:17.

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