好的,这是交易,我正在尝试将switch语句重定向到另一个页面,具体取决于在选择框中选择了哪个选项。以下是我正在使用并试图弄清楚的一个示例,任何帮助都会大大降低。
<html>
<body>
<form name="form1">
<select name="select1">
<option value="p1">p1</option>
<option value="p2">p2</optino>
</select>
</form>
<script type="text/javascript">
<!--
var sel = document.form1.select1;
var txt = sel.options[sel.selectedIndex].text;
var opt = sel.options[sel.selectedIndex].value;
switch (sel)
{
case 'p1': window.location = 'http://www.yahoo.com'
break;
case 'p2': window.location = 'http://www.google..com'
break;
}
</script>
<p>Set the variable to different value and then try...</p>
</body>
</html>
答案 0 :(得分:4)
我建议你避免使用switch语句。怎么样?
<select name="select1">
<option data-url="http://www.yahoo.com" value="p1">p1</option>
<option data-url="http://www.google.com" value="p2">p2</option>
</select>
和
document.getElementById("select1").onchange = function () {
var url = this.options[this.selectedIndex].getAttribute("data-url");
window.location = url;
};
编辑:我将示例更改为使用html 5 data attributes(不用担心,所有浏览器都支持它们),因为您需要其他值的属性。
答案 1 :(得分:1)
我注意到你没有将更改处理程序绑定到select,所以当用户选择一个值时没有任何反应。
答案 2 :(得分:1)
你有一些拼写错误,你的第二个“/选项”和你的“google.com”。 并且switch语句与您的错误无关。 您没有事件侦听器/ onchange处理程序,并且您没有使用select选项
中的值进行切换https://developer.mozilla.org/en/DOM/element.onchange https://developer.mozilla.org/en/DOM/element.addEventListener
答案 3 :(得分:1)
请参阅http://www.jsfiddle.net/vDFpZ/
<html>
<body>
<form name="form1">
<select name="select1">
<option value="p1">p1</option>
<option value="p2">p2</option>
</select>
</form>
<script type="text/javascript">
window.onload = function () {
document.getElementsByName("select1")[0].onchange = function () {
var sel = this.options[this.selectedIndex];
var text = sel.text;
var val = sel.value;
switch (val)
{
case 'p1': window.location = 'http://www.yahoo.com'
break;
case 'p2': window.location = 'http://www.google..com'
break;
}
}
}
</script>
<p>Set the variable to different value and then try...</p>
</body>
</html>