IE的Jquery问题

时间:2011-02-11 08:03:27

标签: jquery html ajax

我在IE中遇到Jquery问题,代码无效,任何人都可以帮助我。

http://efm.net.au/component/content/article/54

请在IE和FF(或者歌剧,safari,chrome)中选中并选择状态,你会看到俱乐部已经加载但是没有出现在IE中,但是它们出现在FF中。

请帮忙吧。 感谢

    function loadClub()
{




  var st = document.getElementById("State").value;

  if(st != "Select State")
  {
    jQuery("#loaderBox").css("display","block");
//alert(document.getElementById("Club").innerHTML);
//alert($("#State").val());
/*$("div#Club_container").remove();*/

setTimeout('jQuery(".club-drop input").remove();',100);
setTimeout('jQuery("#Club_container").remove();',100);


if (window.XMLHttpRequest)

  {// code for IE7+, Firefox, Chrome, Opera, Safari

  xmlhttp=new XMLHttpRequest();

  }

else

  {// code for IE6, IE5

  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");

  }

xmlhttp.onreadystatechange=function()

  {

  if (xmlhttp.readyState==4 && xmlhttp.status==200)

  {/*
$(".state-drop input#State_input").remove();
$("div#State_container").remove();
$(".club-drop input#Club_input").remove();
$("div#Club_container").remove();*/
//setTimeout('$(".state-drop").remove()',500);

if(jQuery("#club1").length > 0)
{

  document.getElementById("club1").innerHTML=xmlhttp.responseText;
   document.getElementById("club2").innerHTML=xmlhttp.responseText;
    document.getElementById("club3").innerHTML=xmlhttp.responseText;

}else{
    document.getElementById("Club").innerHTML=xmlhttp.responseText;


}
//jQuery("div.state-drop").css("border","none");
jQuery("div.state-drop span").css("display","none");
     jQuery('.efm-text input[type="submit"]').removeAttr('disabled');


    if(jQuery("#club1").length > 0)
{
setTimeout("jQuery('#club1').selectbox()",100);
setTimeout("jQuery('#club2').selectbox()",100);
setTimeout("jQuery('#club3').selectbox()",100);

}else{
setTimeout("jQuery('#Club').selectbox()",100);
    //jQuery('#Club').selectbox();
}

jQuery("#loaderBox").css("display","none");

    }

  }





xmlhttp.open("GET","/club/state-club.php?state="+st,true);

xmlhttp.send();


    }else{
      setTimeout('jQuery(".club-drop input").remove();',100); 
      //jQuery("div.state-drop").css("border","1px solid red");
      jQuery("div.state-drop span").css("display","block");
      jQuery("div.state-drop span").css("color","red");

      jQuery('.efm-text input[type=submit]').attr('disabled', 'disabled'); 
        if(jQuery("#club1").length > 0)
        {

         document.getElementById("club1").innerHTML="Select State First";
   document.getElementById("club2").innerHTML="Select State First";
    document.getElementById("club3").innerHTML="Select State First";

    setTimeout("jQuery('#club1').selectbox()",100);
setTimeout("jQuery('#club2').selectbox()",100);
setTimeout("jQuery('#club3').selectbox()",100);

        }else{
       document.getElementById("Club").innerHTML="Select State First";
    setTimeout("jQuery('#Club').selectbox()",100);
        }

    }


}

1 个答案:

答案 0 :(得分:1)

1 - 升级到最新版本的jQuery。我从来没有遇到过jquery的任何跨浏览器问题。

2 - 用jQuery代码替换你的ajax代码。

E.g -

     $.post("/someapp/login.do",$("#loginForm").serialize(), function(data) {
                    // Callback code
        $('#loginDiv').html(data);
    });