在IE8中选择元素和jQuery CHANGE事件?

时间:2011-02-25 19:59:34

标签: jquery internet-explorer-8 onchange

我的网站上有一个小脚本,根据4种不同Select元素中选择的选项计算价格报价。价格报价将写入div,并在每次选定的选项发生任何变化时更新。

以下是此页面的链接:http://www.justaddsolutions.com/justaddwebsite/prices/

每次我的Select元素发生变化时,我都使用jQuery CHANGE事件处理程序触发计算函数,如下所示:

jQuery("#pages").change(price_quoter);

这是我的HTML代码:

<select id="pages" class="instant_quote" name="pages"> 
<option value="1">1 page</option>
<option value="2">2 pages</option>

这在Safari和Chrome中运行良好,但在IE8中不起作用。在IE8中,Select元素的更改不会触发计算功能。

我研究了这个问题并得到了相反的数据 - 有人说改变jQuery事件在IE8中不起作用,有些人说它确实如此。

然后我想使用JS的onChange函数,但也读到IE8不支持它。

你能帮忙找出适用于所有浏览器的方法。

3 个答案:

答案 0 :(得分:0)

根据我的经验,jQuery中的'change'事件在IE8中可用于选择列表,或许代码中还有另一个导致问题的错误?

答案 1 :(得分:0)

试试这个

$("#pages").on("keyup change", function () {
    // let's make sure the event is not the problem , could be a problem with price_quoter? 
    alert("yay!! pages was changed");
    // call your function
    price_quoter();
    // do stuff here
});

如果您使用旧版本的jquery,则可能需要使用“bind”而不是“on”

$("#pages").bind("keyup change", function () {
    // let's make sure the event is not the problem , could be a problem with price_quoter? 
    alert("yay!! pages was changed");
    // call your function
    price_quoter();
    // do stuff here
});

答案 2 :(得分:-2)

尝试使用$(“select option”)。点击()事件处理程序。