Kom ihåg mig?

Auto-complete problem

 
Ämnesverktyg Visningsalternativ
Oläst 2008-10-12, 01:56 #1
Althalos Althalos är inte uppkopplad
Medlem
 
Reg.datum: Jan 2006
Inlägg: 282
Althalos Althalos är inte uppkopplad
Medlem
 
Reg.datum: Jan 2006
Inlägg: 282
Hej, jag har implementerat en auto-complete grej till mitt projekt. När man skriver i formuläret hämtar den helt enkelt värden ur en databas och presenterar dynamiskt med hjälp av jQuery en lista på sådana sökningar nedan. Sedan när man klickar på en sådan tidigare sökning är det tänkt att formuläret ska fyllas i med dess innehåll. Koden jag har är:
function fill(thisValue) {
alert('test');
$('#inputString').val(thisValue);
$('#suggestions').hide();
}

Dock är alla sökningar i formen ämne(r1,r2,r3...) vilket tydligen skapar problem eftersom den tror att ämnet är en odefinierad funktion. Såhär säger firebug:
"etanol is not defined
[Break on this error] fill(etanol(R1, R2, S1, S2));"

Hur kan man fixa detta?

Tack
Althalos är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-10-13, 19:33 #2
Silodon Silodon är inte uppkopplad
Nykomling
 
Reg.datum: Feb 2005
Inlägg: 38
Silodon Silodon är inte uppkopplad
Nykomling
 
Reg.datum: Feb 2005
Inlägg: 38
Det blir mycket lättare att hjälpa dig om du poster mera av din jQuery kod.
Silodon är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-10-13, 20:56 #3
martines avatar
martine martine är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Mar 2005
Inlägg: 767
martine martine är inte uppkopplad
Mycket flitig postare
martines avatar
 
Reg.datum: Mar 2005
Inlägg: 767
Inte för att jag har en aning om JQuery men är inte problemet att det handlar om en sträng som ska matas vidare till php/asp/perl (om jag förstått det hela rätt) - och i så fall är det väl bara ett par "-tecken som behövs på rätt ställe.
martine är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-10-14, 23:33 #4
Althalos Althalos är inte uppkopplad
Medlem
 
Reg.datum: Jan 2006
Inlägg: 282
Althalos Althalos är inte uppkopplad
Medlem
 
Reg.datum: Jan 2006
Inlägg: 282
Okej, här är först min php-kod:
Kod:
while ($res = mysql_fetch_array($result)) {
 * *echo '<li onclick="fill('.$res[0].');">'. $res[0] .'</li>';
 * *}
Och här är min javascript/jQuery-funktion:

Kod:
function fill(thisValue) {
 * *$('#inputString').val(thisValue);
 * $('#suggestions').hide();
}
Jag kunde inte riktigt lura ut hur jag skulle lägga till ' ' ;/
Althalos är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-10-14, 23:43 #5
martines avatar
martine martine är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Mar 2005
Inlägg: 767
martine martine är inte uppkopplad
Mycket flitig postare
martines avatar
 
Reg.datum: Mar 2005
Inlägg: 767
Citat:
Originally posted by Althalos@Oct 14 2008, 23:33
Okej, här är först min php-kod:
Nu kanske jag bara irrar lite på senkvällen men vill du inte skriva:
Kod:
while ($res = mysql_fetch_array($result)) {
 * *echo "<li onclick=\"fill('".$res[0]."');\">". $res[0] .'</li>';
 * *}
(Lite svårt att se tecknen men förstora texten i din browser så ser du nog skillnaden.)

Edit: titta i källkoden så ser du att du skickar (vad som av javaskript bara kan uppfattas som) en funktion som argument till funktionen fill()

Javaskript är ju lite kul genom att även funktioner är argument (eller i princip en form av variabler) och kan skickas med precis som variabler till en en funktion.
martine är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-10-15, 09:31 #6
Althalos Althalos är inte uppkopplad
Medlem
 
Reg.datum: Jan 2006
Inlägg: 282
Althalos Althalos är inte uppkopplad
Medlem
 
Reg.datum: Jan 2006
Inlägg: 282
Tack det fungerade. =)
Althalos är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-10-18, 13:22 #7
Althalos Althalos är inte uppkopplad
Medlem
 
Reg.datum: Jan 2006
Inlägg: 282
Althalos Althalos är inte uppkopplad
Medlem
 
Reg.datum: Jan 2006
Inlägg: 282
Nu har jag ett nytt problem :S
http://riskanalysatorn.ekdahlproduction.com , där har ni vad jag jobbar på. Testa skriv t. ex. e i formuläret så får ni upp en lista på tidigare sökningar (etanol). Problemet är att det kommer att ligga bakom övriga divvar. Jag lyckades med negativt z-index få det att fungera i FF, men sedan fungerade ingenting i IE.

Ingenting jag läst om z-index har hjälpt mig att lösa detta. Har ni några tips?

Citat:
* {margin:0; padding:0;z-index:0;position:relative;text-align:left;}
* #content {min-height:500px;z-index:0;}
#container{width:701px;margin:0px auto 0px auto;z-index:0;}
#header {width:701px;height:105px;background-image:url(header.gif);}
#form {width:701px;height:39px;background-image:url(form.gif);}
#help {width:671px;height:11px;background-image:url(help.gif);font-size:8pt;font-family:Verdana,Helvetica,Sans-skrit;padding:15px 15px;position:relative;z-index:0;}
#menu {height:10px;width:701px;text-align:right;margin:5px auto 0px auto;}
.menulink {font-size:10pt;}
a:link {text-decoration:none;color:#0066FF;}
a:visited {text-decoration:none;color:#0066FF;}
a:hover {text-decoration:none;color:#00A000;}
.input {margin:10px 20px auto 20px; width:500px;}
.inputbutton {margin:10px 0px auto auto; width:150px;}
.suggestionsBox {z-index:100;position:relative;margin:0px 20px;width:500px;}
.suggestionList {z-index:100;margin: 0px;padding: 0px;width:500px;background-color:#DCDCDC;border: #9C9C9C 1px solid;}
li {margin: 0px 0px 3px 0px;padding: 3px;cursor: pointer;list-style-type:none;z-index:100;}
li:hover {background-color:#CCCCCC;z-index:100;}
#genbutton {display: block;width: 400px;height:100px;background-image:url('genbutton.png'); no-repeat 0 0;margin:0px auto 0px auto;z-index:0;}
#genbutton:hover{background-position: 0 -100px;}
#genbutton span{display: none;}
Althalos är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-10-18, 15:55 #8
martines avatar
martine martine är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Mar 2005
Inlägg: 767
martine martine är inte uppkopplad
Mycket flitig postare
martines avatar
 
Reg.datum: Mar 2005
Inlägg: 767
Är det inte lite väl drastiskt att sätta position: relative på alla element?

Annars är väl det rimliga att sätta en tillräckligt hög z-index på suggestionsBox…

Edit: för övrigt är inte Sans-skrit möjligt även om det är alla indo-europeiska språks ursprung…
Du menar nog sans-serif.

Edit II: du borde nog kolla lite noggrannare (eller validera din css) så att du inte bygger in några fel - de kan ha märkliga och oväntade effekter:
Citat:
background-image:url('genbutton.png'); no-repeat 0 0
ska väl vara:
Kod:
background:url(genbutton.png) no-repeat top left;
eller något liknande.
martine är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-10-18, 16:24 #9
Althalos Althalos är inte uppkopplad
Medlem
 
Reg.datum: Jan 2006
Inlägg: 282
Althalos Althalos är inte uppkopplad
Medlem
 
Reg.datum: Jan 2006
Inlägg: 282
Tack för hjälpen. Det här är min förfinade kod:

Kod:
* {margin:0; padding:0;text-align:left;}
#content {min-height:500px;}
#container{width:701px;margin:0px auto 0px auto;}
#header {width:701px;height:105px;background-image:url(header.gif);}
#form {width:701px;height:39px;background-image:url(form.gif);}
#help {width:671px;height:11px;background-image:url(help.gif);font-size:8pt;font-family:Verdana,Helvetica,Sans-serif;padding:15px 15px;}
#menu {height:10px;width:701px;text-align:right;margin:5px auto 0px auto;}
.menulink {font-size:10pt;}
a:link {text-decoration:none;color:#0066FF;}
a:visited {text-decoration:none;color:#0066FF;}
a:hover {text-decoration:none;color:#00A000;}
.input {margin:10px 20px auto 20px; width:500px;}
.inputbutton {margin:10px 0px auto auto; width:150px;}
.suggestionsBox {z-index:100;margin:0px 20px;width:500px;}
.suggestionList {z-index:100;margin: 0px;padding: 0px;width:500px;background-color:#DCDCDC;border: #9C9C9C 1px solid;}
li {margin: 0px 0px 3px 0px;padding: 3px;cursor: pointer;list-style-type:none;z-index:100;}
li:hover {background-color:#CCCCCC;z-index:100;}
#genbutton {display: block;width: 400px;height:100px;background-image:url(genbutton.png); no-repeat 0 0;margin:0px auto 0px auto;}
#genbutton:hover{background-position: 0 -100px;}
#genbutton span{display: none;}
Men det fungerar fortfarande inte riktigt som det ska... allt som har med listan att göra har z-index:100; :S
Althalos är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-10-18, 17:04 #10
martines avatar
martine martine är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Mar 2005
Inlägg: 767
martine martine är inte uppkopplad
Mycket flitig postare
martines avatar
 
Reg.datum: Mar 2005
Inlägg: 767
För att z-index ska fungera så måste du positionera elementet på något sätt, exempelvis med relative eller absolute så att det "flyter" ovan sin normal position i dokumentstrukturen. Jag vet inte vad skriptet gör men annars kan du ju prova att sätta:
Kod:
.suggestionsBox {position: relative; top: 0px; left: 0px; z-index:100;margin:0px 20px;width:500px}
och skippa z-index på .suggestionList eftersom den följer normala regler i sin nya positionsomgivning.
martine ä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)
 
Ämnesverktyg
Visningsalternativ

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 03:33.

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