我有一个 html 选择 -
<select name="startDay" id="startDay">
<option value="01">Sun 1</option>
<option value="02">Mon 2</option>
<option value="03">Tue 3</option>
<option value="04">Wed 4</option>
<option value="05">Thu 5</option>
<option value="06">Fri 6</option>
<option value="07">Sat 7</option>
<option value="08" selected>Sun 8</option>
<option value="09">Mon 9</option>
<option value="10">Tue 10</option>
<option value="11">Wed 11</option>
<option value="12">Thu 12</option>
<option value="13">Fri 13</option>
<option value="14">Sat 14</option>
<option value="15">Sun 15</option>
<option value="16">Mon 16</option>
<option value="17">Tue 17</option>
<option value="18">Wed 18</option>
<option value="19">Thu 19</option>
<option value="20">Fri 20</option>
<option value="21">Sat 21</option>
<option value="22">Sun 22</option>
<option value="23">Mon 23</option>
<option value="24">Tue 24</option>
<option value="25">Wed 25</option>
<option value="26">Thu 26</option>
<option value="27">Fri 27</option>
<option value="28">Sat 28</option>
</select>
当我在 jsbin 上使用此代码时,我可以使用 jQuery 识别所选选项 -
$('#startDay').val()
但是在我正在处理的网站上,http://test.mapov.com/?d=london 。相同的代码失败 -
> $('#startDay').val()
> null
我也无法用纯js得到任何东西-
> document.getElementById('startDay').options.selectedIndex
> -1
我已检查页面上没有其他具有该 ID 的元素。我将 html 剪切并粘贴到pasteBin (http://jsbin.com/bivudinagu/1/edit?html,js,console)中。我只是无法理解这里发生的事情。
这是来 self 的 Chrome 控制台 -
> document.getElementById('startDay').options[7]
> <option value="08" selected>Sun 8</option>
> document.getElementById('startDay').options[7].selected
> false
??!?
最佳答案
首先,您必须为您的选择
设置一个ID,
<select id="startDay">
然后您可以获得所选选项的值:
$('#startDay option:selected').val()
$(function(){
document.write($('#startDay option:selected').val());
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="startDay">
<option value="01">Sun 1</option>
<option value="02">Mon 2</option>
<option value="08" selected>Sun 8</option>
</select>
关于javascript - 为什么我的 javascript 无法看到选择了哪个 html 选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28116479/