Select 框值到 href
Select box value to href
我正在为我的页面添加多语言功能,但在使用 select 框时遇到了问题。我想更改页面上动态显示的语言以匹配 select 框中所选的语言。
这是我的 html 代码:
<?php
include_once 'multilingual_common.php';
?>
<!DOCTYPE>
<html>
<head>
<title>Test Form</title>
</head>
<body>
<div id="languages">
<select onChange="if (this.value) window.location.href=this.value">
<option value="multilingual_test.html?lang=en">English</option>
<option value="multilingual_test.html?lang=ko">한국어</option>
</select>
<a href="multilingual_test.html?lang=en">English</a>
<a href="multilingual_test.html?lang=ko">한국어</a>
</div>
<ul>
<li><?php echo $lang['CHARACTER_NAME']; ?> Rose</li>
<li><?php echo $lang['CHARACTER_LEVEL']; ?> 40</li>
<li><?php echo $lang['CHARACTER_SEX']; ?> female</li>
<li><?php echo $lang['CHARACTER_SEX']; ?> none</li>
</ul>
</body>
</html>
点击标签而不是 select 框时有效。标记中使用的 onChange 事件不起作用。我应该如何解决这个问题?
您正在使用 select 列表。获得价值有点复杂。
一个 select 列表有很多 options
。选项是 onchange
事件中 this
对象下的一个数组。
当前 selected 索引存储在 this.selectedIndex
因此,要获得一个值,您需要通过 selected 值
访问数组中的正确选项
this.options[this.selectedIndex].value
是从 select 列表中获取值的方式。
要修复您的代码,您应该使用而不是
<select onChange="if (this.value) window.location.href=this.value">
您需要获取选项的值
<select onChange="if (this.options[this.selectedIndex].value) window.location.href=this.options[this.selectedIndex].value">
试试这个
<select onchange="location = this.options[this.selectedIndex].value;">
<option value="multilingual_test.html?lang=en">English</option>
<option value="multilingual_test.html?lang=ko">한국어</option>
</select>
我正在为我的页面添加多语言功能,但在使用 select 框时遇到了问题。我想更改页面上动态显示的语言以匹配 select 框中所选的语言。
这是我的 html 代码:
<?php
include_once 'multilingual_common.php';
?>
<!DOCTYPE>
<html>
<head>
<title>Test Form</title>
</head>
<body>
<div id="languages">
<select onChange="if (this.value) window.location.href=this.value">
<option value="multilingual_test.html?lang=en">English</option>
<option value="multilingual_test.html?lang=ko">한국어</option>
</select>
<a href="multilingual_test.html?lang=en">English</a>
<a href="multilingual_test.html?lang=ko">한국어</a>
</div>
<ul>
<li><?php echo $lang['CHARACTER_NAME']; ?> Rose</li>
<li><?php echo $lang['CHARACTER_LEVEL']; ?> 40</li>
<li><?php echo $lang['CHARACTER_SEX']; ?> female</li>
<li><?php echo $lang['CHARACTER_SEX']; ?> none</li>
</ul>
</body>
</html>
点击标签而不是 select 框时有效。标记中使用的 onChange 事件不起作用。我应该如何解决这个问题?
您正在使用 select 列表。获得价值有点复杂。
一个 select 列表有很多 options
。选项是 onchange
事件中 this
对象下的一个数组。
当前 selected 索引存储在 this.selectedIndex
因此,要获得一个值,您需要通过 selected 值
访问数组中的正确选项this.options[this.selectedIndex].value
是从 select 列表中获取值的方式。
要修复您的代码,您应该使用而不是
<select onChange="if (this.value) window.location.href=this.value">
您需要获取选项的值
<select onChange="if (this.options[this.selectedIndex].value) window.location.href=this.options[this.selectedIndex].value">
试试这个
<select onchange="location = this.options[this.selectedIndex].value;">
<option value="multilingual_test.html?lang=en">English</option>
<option value="multilingual_test.html?lang=ko">한국어</option>
</select>