BelenosMedlem sedan mars 201077 inlägg Har en meny-kod:
<div id='navbox'><ul>
<li id='0:0'><a href='#'>STARTSIDA</a></li> // Rubrik
<li id='1:0' class='has-sub'><a href='#'>VÅRA HAMSTRAR</a><ul> // Rubrik
<li id='1:1'><a href='#'>Julin</a></li> // Dropp down
<li id='1:2'><a href='#'>Sussan</a></li> // Dropp down
<li id='1:3'><a href='#'>Sana</a></li> // Dropp down
<li id='1:4'><a href='#'>Lyra</a></li> // Dropp down
<li id='1:5' class='last'><a href='#'>Anna</a></li> // Dropp down
</ul></li>
<li id='2:0' class='has-sub'><a href='#'>BLOGGAR</a><ul> // Rubrik
<li id='2:1'><a href='#'>Hamster</a></li> // Dropp down
<li id='2:2' class='last'><a href='#'>Energi</a></li> // Dropp down
</ul></li>
<li id='3:0'><a href='#'>MATERIAL</a></li> // Rubrik
<li id='4:0' class='has-sub'><a href='#'>KONTAKT</a><ul> // Rubrik
<li id='4:1'><a href='#'>E-brev</a></li> // Dropp down
<li id='4:2' class='last'><a href='#'>Hitta oss</a></li> // Dropp down
</ul></li>
</ul></div>
</div>
och en jQuery med .click
$(document).ready(function(){
$("li").click(function(){
$('#center').load('load.php', { 'key[]': [this.id, "0"] }).html;
});
});
Mitt problem är att när jag klickar på ett element i dropdown'en så skickas "ibland" data från Rubriken.
Ex. Klickar jag på "Hamser Sussan" [1:2] så får jag koden från "Våra Hamstarar" [1:0].
När jag lägger in en alert(); i jQuery-koden så startar den två gånger, en gång med rätt kod och sen en gång med fel kod!
Hur justerar jag så att koden blir rätt?
jmeMedlem sedan maj 20012 237 inlägg Vad jag läste så måste id-attributen börja med en bokstav.
"ID and NAME tokens must begin with a letter ([A-Za-z]) and may be followed by any number of letters, digits ([0-9]), hyphens ("-"), underscores ("_"), colons (":"), and periods (".")." (http://www.w3.org/TR/html4/types.html)
Dina id börjar med en siffra. Testa med att lägga till en bokstav i början, t ex "h0:0".
@jme i html5 skall det vara ok med nummer
Det ser ut som du har glömt något i din kod .html kommer retunera en funktion men som Nate.A också skriver så bubblar eventet ner, du vill också kanske bara binda event på element som har idn:
$(document).ready(function(){
$("li[id]").click(function(){
$('#center').load('load.php', { 'key[]': [this.id, "0"] });
return false;
});
});
BelenosMedlem sedan mars 201077 inlägg Där satt den voigtann1!
Nate.A har plockat bort sitt inlägg. Vad va det som tog bort dubbla event? Var det .html, return false eller [id]?
Mycket tack!
du har en li inne i en annan li som också har click event, den går neråt i domen så:
<ul>
<li>
one
<ul>
<li>Two</li>
</ul>
</li>
</ul>
Om du trycker på "two" så kommer den bubbla uppåt till den andra li om du inte sätter stopp för det läs om det om event.stopPropeagation (http://api.jquery.com/event.stopPropagation/)
BelenosMedlem sedan mars 201077 inlägg OK, jag letade efter något sånt, men visste inte riktigt vad jag letade efter.
Som tur är har jag ju er här som kan förklara när det går trögt.
Tack så mycket igen!