Ajax和html事件在chrome, firefox和Internet Explorer


Ajax and html events in chrome, firefox and Internet Explorer

我在购物车中有许多选择元素,当选择元素更改选项时,将侦听onclick事件,并执行ajax函数displayCart。

<select name="price">
<option value="peryear" onclick="dispCart('y',2,1100);">1100 Dollar/year</option>
<option value="pertrimester" onclick="dispCart('t',2,300);" selected>300 Dollar/3 months</option>
   <option value="permonth" onclick="dispCart('m',2,120);">120 Dollar/month</option>
</select>

这是ajax函数:

function dispCart(b,c,price){
   var req1=new getXHR();
   var altr=Math.random();
   var url="cart.php?c="+altr+"&b="+b+"&c="+c+"&price="+price;
   req1.open('GET',url,true);
   req1.onreadystatechange=function(){
   if(req1.readyState==4){
     if(req1.status==200){
        document.getElementById("cart").innerHTML=req1.responseText;
   }
   }
   };
req1.send(null);
}

cart.php是一个控制器,它使用一些函数连接到数据库,更改购物车数据(例如从每月付款改为每年付款)然后刷新购物车并显示包含更改的新购物车。

的问题是,这个推车工作很好与FF,但与IE和chrome它不执行的discart javascript函数。

我不知道为什么??

提前感谢。

在IE中,您不能在<option>元素上绑定事件。您应该将事件绑定到<select>元素,然后找出选择了哪个选项。

下面是一个使用onchange的例子

selectonchange, optiononclick