javascript - 为什么我的 javascript 无法看到选择了哪个 html 选项

标签 javascript jquery html select

我有一个 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/

相关文章:

jquery - 如何获得 select2 下拉菜单的高度?

jquery - 无法隐藏 jQuery 验证插件的错误标签

javascript - 如何获取 Javascript 中给定元素的非绝对 css 路径?

javascript - Chrome 控制台 : Print to New Window

javascript - jQuery 中没有触发按钮单击事件?

javascript - 如何判断客户是国外的?

javascript - jqGrid 不在网格中显示数据

Html表格-当表格宽度为100%时如何强制TD宽度?

html - CSS动画移动表格行

javascript - 如何使用Ext.js向内存中的标签添加属性?