用于重定向不工作的IE7 / IE8 javascript下拉菜单

时间:2012-03-30 23:27:32

标签: javascript jquery

我在Jquery v1.7.2和v.1.7.1中从IE7 / IE8看到的错误 - 我试过了两个:

 SCRIPT438: Object doesn't support property or method 'apply' 

我的代码:

 <form>
 <select id="stateD" OnChange="showState()">
 <option value="none" selected="selected">==========</option>
 <option value="http://www.google.com">google</option>
 <option value="http://www.yahoo.com">Yahoo</option>
 </select>
 </form>

我的Javascript - 我把它粘贴在webform下面:

<script type="text/javascript">
 function showState(){
oStates = document.getElementById("stateD");
var jLink = $("#stateD :selected").val();
if (jLink == undefined || jLink == "none" ){ alert("Please Select a State"); }
else{ document.location.href=jLink};
 }
</script>

我没有使用2个库,所以我不知道它有问题的原因。所有应该发生的是您从下拉菜单中选择一个网址,它会自动将您发送到选项标记值中的网址。在其他地方工作,不知道为什么IE今天必须成为这样的混蛋。

我发布了一个网址,但此刻我无法发布。它的私人。有没有人遇到过这个问题?

2 个答案:

答案 0 :(得分:0)

试试这个简单的代码。 当然,要适应你的情况。

<script type="text/javascript">
<!--
window.location = "http://www.google.com/"
//-->
</script>

答案 1 :(得分:0)

这里只有else{ document.location.href=jLink};看起来不合适(因为}之后的分号)但是我不确定它是否导致错误,其余代码似乎没问题{{1}在你的函数中没有使用,所以行不必要,但它不会导致错误,但作为你的问题的替代,你可以使用native / plain javascript而不是jQuery,如果你认为它导致错误的jquery和这里的代码你的oStates = document.getElementById("stateD");功能

showState