每当用户在 html 表单的选择列表中更改其答案时,我都会尝试更改我的变量“year”。我想将“年份”更改为当前选择的任何年份,因此如果用户选择“2022”,我希望我的变量年份等于 2022。我尝试使用“事件”作为函数 setYear() 的参数,但那是不成功的。任何帮助将不胜感激。
var year;
<script type="text/javascript">
function setYear(a) {
year = a;
}
</script>
<form>
<tr>
<td>Year: </td>
<td><select name="Year" onchange="setYear(event)">
<option value="2020">2020</option>
<option value="2021">2021</option>
<option value="2022">2022</option>
</select></td>
</tr>
</form>
最佳答案
您的代码:
var year;
<script type="text/javascript">
function setYear(a) {
year = a;
}
</script>
<form>
<tr>
<td>Year: </td>
<td><select name="Year" onchange="setYear(event)">
<option value="2020">2020</option>
<option value="2021">2021</option>
<option value="2022">2022</option>
</select></td>
</tr>
</form>
您正在声明变量var
外面<script>
标签。因为,var
在 <script>
之外声明标签,它对 javaScript 函数不可见。
此外,您正在设置 var
到事件参数。
此代码可能有效。
<script type="text/javascript">
var year;
function setYear(a) {
year = a;
}
</script>
<form>
<tr>
<td>Year: </td>
<td><select name="Year" onchange="setYear(this.value)">
<option value="2020">2020</option>
<option value="2021">2021</option>
<option value="2022">2022</option>
</select></td>
</tr>
</form>
关于javascript - 如何通过更改 html 表单中的选择选项来更改变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60784597/