Javascript 从选择框中选择选项
如何使用javascript(/console在google chrome中)选择选项? 这是html代码的一部分:Javascript 从选择框中选择选项,javascript,html,select,Javascript,Html,Select,如何使用javascript(/console在google chrome中)选择选项? 这是html代码的一部分: <nobr> Element<br> <span class="absatz"> <br> </span> <select name="element" class="selectbox" style="width:114" size="12" onch
<nobr>
Element<br>
<span class="absatz">
<br>
</span>
<select name="element" class="selectbox" style="width:114" size="12" onchange="doDisplayTimetable(NavBar, topDir);">
<option value="0">- All -</option>
<option value="1">A</option>
<option value="2">B</option>
<option value="3">X</option>
<option value="4">C</option>
<option value="5">D</option>
<option value="6">E</option>
<option value="7">F</option>
<option value="8">G</option>
<option value="9">H</option>
<option value="10">I</option>
<option value="11">J</option>
<option value="12">K</option>
<option value="13">L</option>
<option value="14">M</option>
<option value="15">N</option>
<option value="16">O</option>
<option value="17">P</option>
<option value="18">Q</option>
<option value="19">R</option>
</select>
</nobr>
但是它给了我一个错误:
未捕获的TypeError:无法设置未定义的属性“值”
两点四十八分
在Object.InjectedScript._evaluateOn(:875:140)
在Object.InjectedScript.\u evaluateAndWrap(:808:34)
在Object.InjectedScript.evaluate(:664:21)
编辑:
我试过了,但在整个网站上都不起作用。可能是因为在第一个html标记中有另一个html标记(如果我下载网站,在selectbox所在的位置有另一个名为welcome.html的html文件)。我认为它在iFrame中,因为chrome给了我“show Frame”选项 编辑2: 我可以访问selectbox所在的框架,但仍然找不到selectbox。这是框架的代码(不是完整代码):pastebin.com/iVUeDbYV试试这个:
document.querySelectorAll('[name="element"]')[0].value;
虽然很奇怪,getElementsByName
不适合您。您确定元素
在同一文档中,而不是在iFrame中吗?简单的答案是:
document.getElementById("select_element").selectedIndex = "option index";
其中option index是下拉列表中要激活的选项的索引
您可以使用以下方法获取选项的索引:
var selected = document.querySelector( '#'+div+' > option[value="'+val+'"]' );
其中div是
标记的ID
这是多么有用啊 这将满足您的需求
document.querySelector('[name="element"]').value = 4 // The value you want to select
这将检索值
var value = document.querySelector('[name="element"]').value; // 4
这就解释了发生了什么
var option = document.querySelector('[name="element"]');//option element
option.value; // 4
option.selectedIndex; // 4
option.selectedOptions; // [<option value="4">C</option>]
option.selectedOptions[0].innerText; // C
option.selectedOptions[0].value; // 4
在谷歌上输入你的问题:)你的代码在这里工作。fiddle唯一一个你可能不会做的事情就是它在之后运行JavaScript。我试过了,但在整个网站上都不起作用。可能是因为html标记中有一个html标记(如果我下载网站,在选择框所在的位置有另一个名为welcome.html的html文件)。我认为它在一个iFrame中。当然,必须有一个
iFrame
,因为在另一个内有一个html标记是。。。。。可怕:)。如果iframe中的额外文档是从同一位置加载的,则可以使用:document.getElementById('iframe').contentWindow.document.getElementsByName('element')[0]
谢谢!我可以用它访问框架,但它仍然找不到选择框。这是框架的代码(不是完整的代码):好的,我用这个:document.getElementById('blockrandom').contentWindow.document.getElementsByTagName('frame')[1]谢谢!
var option = document.querySelector('[name="element"]');//option element
option.value; // 4
option.selectedIndex; // 4
option.selectedOptions; // [<option value="4">C</option>]
option.selectedOptions[0].innerText; // C
option.selectedOptions[0].value; // 4
window.onload = function() {
document.querySelector('[name="element"]').value = 0; // sets a default value
}