webForumDet fria alternativet

JQuery fungerar inte i IE

JavaScript

7 svar · 1 572 visningar · startad av Sanji

Medlem sedan juli 2009355 inlägg
Frågan#1

Hej! efter att ha uppnått önskat resultat på min föregående tråd(hämta id från dynamiskt skapade kontroller och köra en webservice via jquery) så gör jag en ny. Det är så här att min sida fungerar som den ska i firefox och chrome, men i IE8 så körs inte min JQuery-kod av någon anledning.

<script type="text/javascript">
        $(function () { // dom-ready, just to be on the safe side 
            $('.combobox').jec();

            $(".textboxdotted").change(function (e) {
                var priceID = null;
                priceID = $(e.target).attr('id');
                var price = null;
                price = $(e.target).attr('value');
                
                $.ajax({
                    type: "POST",
                    contentType: "application/json; charset=utf-8",
                    url: "../webservices/updates.asmx/updatePrice",
                  //data: '{priceID: "' + priceID +'",price: "' + price +'" }',
                    data: '{"priceID": "' + priceID +'","price": "' + price +'" }',
                    dataType: "json"
                    //success: function () { alert("det fungerar!"); },
                    //error: function () { alert('Det fungerade inte!'); } 

                });
                
                   
                
            });

        });
</script>

denna fungerar utmärkt i firefox men så fort jag testar i IE så körs inte min webservice!

Jag ska in med lite if-satser osv för att felsöka nu, men om någon vet något uppenbart som gör att det inte funkar i IE, säg gärna till :)

Medlem sedan juli 2009355 inlägg
#2

jag har kommit en liten bit i felsökningen, det är så att när man ändrar värdet i en textbox första gången, och sedan lämnar textboxen så händer ingenting. om jag däremot går tillbaka till samma textbox igen och ändrar värdet, så körs koden och allt blir som det ska.

Då är ju frågan varför det blir så i just internet explorer 8...

Medlem sedan mars 20007 896 inlägg
#3

Det är för att IE kastar eventet 'onchange' först när din .textboxdotted förlorar fokus. Ett alternativ är att använda .delegate() verkar det som.

Medlem sedan juni 20019 519 inlägg
#4

Vilken version av jquery är det?

Medlem sedan juli 2009355 inlägg
#5

jqyery version 1.4.1

Medlem sedan juni 20019 519 inlägg
#6

Uppdatera din jquery, det kom en fix runt 1.4.4 för change event+IE

Medlem sedan juli 2009355 inlägg
#7

nu har jag ätit och är redo för att fortsätta ^^ okej jag börjar med att uppdatera min jquery!

Medlem sedan juli 2009355 inlägg
#8

utmärkt! efter att jag uppdaterade till 1.5.1 så hoppade det igång! skönt att det inte var svårare än så :)

Tack!

270 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
140 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)