带有parseInt下拉值的IE错误(jquery val())

时间:2009-11-11 16:23:09

标签: jquery internet-explorer parseint

我的下拉列表中包含以下内容:

<select id="shipping" name="shipping_option">
<option SELECTED value="60">R60</option>
<option value="90">R90</option>     
<option value="100">R100</option>                           
</select>

然后,当下拉列表的内容发生变化时,javascript会运行updateTotal(),具体如下:

function updateTotal() {
            total = parseInt($("#shipping").val());
        }

现在在Firefox和Safari中运行良好,但在IE中则不行。它只是不起作用。它说对象不支持功能。

这是IE中的错误,还是与IE相关的jQuery中的错误?正如我所说的,这种方法非常有效,而不是在IE中。

1 个答案:

答案 0 :(得分:2)

一些可能的问题 - 您确定已加载<select>且标识为shipping且尚未从DOM中删除的问题吗?是否有另一个ID为shipping的元素?价值真的是一个数字吗?此外,total变量,您确定它已使用var初始化,以便在您使用它时可以访问它吗?

请注意,将parseInt()与第二个参数一起使用是个好主意,所以parseInt(foo, 10);确保将其解析为十进制数。

尝试检查jslint中的代码,看看可能导致问题的其他错误。