2012-12-14 55 views
0

我想根据类别选择列表中选择的内容将值设置为子类别的选择列表。它似乎不适用于IE。任何人都可以提出问题吗?javascript/ajax下拉菜单在IE中不起作用

我的代码正确的工作在Firefox,Chrome,Opera和Safari ,但不能在IE7,8,9中工作!

js代码:

<!-- Begin CHack For Ostan --> 
function getOstan(str) 
{ 
if (str.length==0) 
    { 
    document.getElementById("SH_O").innerHTML=""; 
    return; 
    } 
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) 
    { 
    document.getElementById("SH_O").innerHTML=xmlhttp.responseText; 
    } 
    } 
xmlhttp.open("GET","listing.php?q="+str,true); 
xmlhttp.send(); 
} 
<!-- END --> 
<!-- Begin CHack For City --> 
function getSH_O(str) 
{ 
if (str.length==0) 
    { 
    document.getElementById("SH_C").innerHTML=""; 
    return; 
    } 
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) 
    { 
    document.getElementById("SH_C").innerHTML=xmlhttp.responseText; 
    } 
    } 
xmlhttp.open("GET","listing.php?z="+str,true); 
xmlhttp.send(); 
} 
<!-- END --> 

在FF:

enter image description here

如果IE:

enter image description here

+1

东西告诉我,你能做到这一点的东西交浏览器与jQuery三行,我甚至没有读过代码,只是说? – adeneo

+0

添加图片,请重新检查问题 – Mohammad

回答

0

function getXHRequest() { 
    try { return new XMLHttpRequest(); } catch(e) {} 
    try { return new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) {} 
    alert("XMLHttpRequest not supported"); 
    return null; 
} 

var xmlhttp = getXHRequest(); 
xmlhttp.open("GET","listing.php?z="+str,true); 
xmlhttp.send(); 

卜你应该考虑使用将做的工作适合你,像jQuery(经测试,跨浏览器等),图书馆

$.ajax({url: "listing.php?z="+str}).done(function(data){ 
    $("SH_C").html(data); 
}); 
+0

不能使用此代码:( – Mohammad

+0

它可能不是ajax问题,IE可能不允许您使用'innerHTML'添加select的选项。 – krampstudio