为什么答案是一样的
Why the same answer?
我是个初学者。
为什么这个脚本总是给出1作为答案?问题出在哪里?
无论选择哪个月,答案总是1。
<select id="monthSelect">
<option value="1">January</option>
<option value="2">February</option>
<option value="3">March</option>
<option value="4">April</option>
<option value="5">May</option>
<option value="6">June</option>
<option value="7">July</option>
<option value="8">August</option>
<option value="9">September</option>
<option value="10">October</option>
<option value="11">November</option>
<option value="12">December</option>
</select>
<input type="button" value="?" onclick="alert(selectedMonth)"/>
<script>
var e = document.getElementById('monthSelect')
var i = e.selectedIndex;
var selectedMonth = e.options[i].value;
</script>
问题出在onclick="alert(selectedMonth)"上;因为你没有调用任何函数,只是发出警报。我已经按照你解释的方式更正了你的代码。请检查以下解决方案。将您的按钮单击事件替换为下面提到的单击事件。
<input type="button" value="?" onclick="alert(selectedMonth())"/>
用下面的脚本替换你的脚本,你就会得到答案。
function selectedMonth(){
var e = document.getElementById('monthSelect');
var i = e.selectedIndex;
return e.options[i].value;
}
因为您的代码在侧面加载时运行,此时选择为1。
<input type="button" value="?" onclick="getSelection()"/>
function getSelection() {
var e = document.getElementById('monthSelect')
var i = e.selectedIndex;
alert(e.options[i].value);
}
您的代码很好:http://jsfiddle.net/vrwkpur7/
不使用函数的解决方案
<select id="monthSelect">
<option value="1">January</option>
<option value="2">February</option>
<option value="3">March</option>
<option value="4">April</option>
<option value="5">May</option>
<option value="6">June</option>
<option value="7">July</option>
<option value="8">August</option>
<option value="9">September</option>
<option value="10">October</option>
<option value="11">November</option>
<option value="12">December</option>
</select>
<input type="button" value="?" onclick="alert(monthSelect.selecteIndex);"/>
JsFiddle
具有功能的解决方案
<select id="monthSelect">
<option value="1">January</option>
<option value="2">February</option>
<option value="3">March</option>
<option value="4">April</option>
<option value="5">May</option>
<option value="6">June</option>
<option value="7">July</option>
<option value="8">August</option>
<option value="9">September</option>
<option value="10">October</option>
<option value="11">November</option>
<option value="12">December</option>
</select>
<input type="button" value="?" onclick="getSelectedMonth();"/>
<script>
function getSelectedMonth()
{
var e = document.getElementById('monthSelect')
var i = e.selectedIndex;
var selectedMonth = e.options[i].value;
alert(selectedMonth);
}
</scrip>
相关文章:
- 使用向下箭头键(与tab键一样)聚焦下一个输入
- 如果消息框答案为YES,则用Javascript填写表单
- 在SVG地图上添加水的渐变,就像在谷歌地图(PHP/JS)中一样
- 如何像模糊图像一样模糊iframe
- FullCalendar:事件发生时阻止重叠.标题是一样的
- 如何检测滚动事件是否像在触摸设备上一样只触发一次
- 为什么不'我的窗口滚动事件根本没有启动.其他答案没有解决问题
- DIV怎么能像Javascript中的另一个元素一样工作呢
- 我正在创建一个聊天,但每次我发送消息时,它都不会让我再发送另一条消息,就像表格一样;不起作用
- java脚本的数学方程显示错误的答案
- 有没有8个谜题和15个谜题一样无法解决
- 如何缩放像图像一样的元素
- 我需要iframe的内容像动画一样展开,填满整个屏幕并缩小到原来的大小
- 当使用答案运行PHP函数时,会弹出是/否警报
- 是否可以像字符串一样/操作/函数
- 带有多个答案选项的Javascript动态数组窗口
- 我可以像其他库一样将JointJS作为AngularJS模块注入吗
- 为什么不是't我的javascript向Project Euler返回正确答案's排名第一
- 为什么可以'我们在函数体中为函数对象添加属性,就像在javascript中为对象文字添加属性一样
- 为什么答案是一样的