Checkbox onclick gör så att checked inte ändras?

Permalänk

Checkbox onclick gör så att checked inte ändras?

Har en checkbox som jag postar med ajax när man klickar på den. Det lyckas super och allt går som det ska men av nån anledning ändras inte att den är checked. Den är liksom checked både innan och efter man klickar. Nu kör jag med onmouseup vilket gör att den ändras men är ändå inte det jag vill uppnå, och så om man klickar runt lite kan man få den att vara checked utan att servern har uppfattat det.
Den kan liksom checkas utan att ajax-anropet går iväg.
Har skrivit det såhär:

return string.Format("<input type='checkbox' title='{0}s' id='{0}Box' checked='checked' onmouseup=\"Sys.Mvc.AsyncHyperlink.handleClick(document.getElementById('{0}FilterLink'), new Sys.UI.DomEvent(event),{{insertionMode: Sys.Mvc.InsertionMode.replace, loadingElementId: 'AjaxLoader', updateTargetId: 'ContButFilter'}});return true;\"/>{0}s<br />", Name);

Anledningen till att det ser ut som det gör är för att jag har lagt det som en ajaxhelper

Tacksam för svar!

Visa signatur

Asus Striker II Extreme / XFX Geforce GTX 280 / Q9450 @ 3.6GHz/ TRUE Noctua 120/ 4x1GB Corsair TWIN3X2048-1333C9DHX / X25-M G2 80gb Velociraptor / Win 7 Ultimate x64/ Antec P190

MovieDatabase

Permalänk
Medlem

Det står return true i slutet av javascriptraden... prova ta bort det.

Permalänk

Det var en sak som jag la till när jag testade runt, tog bort det nu men får samma resultat:/

Visa signatur

Asus Striker II Extreme / XFX Geforce GTX 280 / Q9450 @ 3.6GHz/ TRUE Noctua 120/ 4x1GB Corsair TWIN3X2048-1333C9DHX / X25-M G2 80gb Velociraptor / Win 7 Ultimate x64/ Antec P190

MovieDatabase

Permalänk
Medlem

Ok, och du har testat om onclick är stabilare? För att testa kan du sätta ut tre labels med en siffra som du ökar med 1 varje gång man klickar på en checkbox. På så sätt ser du om det är någon av mouseover, out eller click som fungerar bättre/sämre.

Det du får göra annars är att låsa checkboxen medan den frågar servern, alltså sätta this.disabled=true när man klickar på checkboxen och sedan sätta this.disabled=false när servern svarat. På så sätt borde du kunna minska buggrisken.

Ett annat alternativ är att ersätta checkboxen med en egen checkbox (finns färdiga plugins till jQuery), som då är en länkad bild istället för en <input> och därför kan fungera stabilare.