我的印象是,为了获得<select>你的价值,基本上必须这样做:
var sel = document.getElementById("my-select");
var val = sel.options[sel.selectedIndex].value;
Run Code Online (Sandbox Code Playgroud)
但是,我今天遇到了一些代码,简单地做document.getElementById('my-select').value,这似乎在Chrome和Firefox完全正常工作.
最近有变化,还是一直都是这样?支持多久了?
UPDATE
不幸的是,我通过谈论该.value属性引起了一些混乱,但随后要求在浏览器中提供任何功能支持.
事后看来,我想我现在需要的是知道是否.value"安全"使用,因此这就是我接受@ BeatAlex答案的原因(因为他们付出了努力来实际测试多个浏览器.
原始问题
使用javascript,获取/设置a中所选值的可接受方式是使用该属性.<option><select>.value
多年来我一直没有使用这个.value属性,因为我被告知"旧浏览器"不支持它.相反,我使用长的...
dd.options[dd.selectedIndex].value;
Run Code Online (Sandbox Code Playgroud)
但我只是做了一些研究,我找不到任何提及这 "旧的浏览器"这样的效果.例如,这篇quirksmode文章甚至提到了"旧浏览器",但没有提供任何更多的信息.
哪个"旧浏览器"没有.value该<select>元素的属性?在主流浏览器中何时可以使用特定功能时,是否存在某个参考?
注意:遗憾的是,由于系统上使用了旧的第三方组件,jQuery目前无法使用
我有一个相当不同的 HTML 结构,我试图获取下拉列表的选定值,如下面的代码所示:
<div class="quantityDropdown quantityDropdown-cartItem">
<select id="qtySelect-61224b70-7b26-11e6-91d5-6921d6fe7421" class="cart-quantity-picker"
data-orderitem="61224b70-7b26-11e6-91d5-6921d6fe7421">
<option value="1">1</option>
<option value="2" selected="">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>
</div>
Run Code Online (Sandbox Code Playgroud)
我的代码返回null.
我想得到 2 作为我的值。正如您所看到的,该属性中没有值selected。
var quantity = document.querySelector(".quantityDropdown select").getAttribute("selected");
Run Code Online (Sandbox Code Playgroud)
如何获取选项标签之外的值 2?
我有一个加载了一些项目的HTML列表.我可以使用以下代码获取选择列表对象:
var list = document.getElementById('ddlReason');
Run Code Online (Sandbox Code Playgroud)
但我需要帮助弄清楚如何检测从列表中选择的值.
我试图显示一个警报框,每次用户在下拉列表中选择不同的选择时,其内容都会改变。
这里有两个下拉列表,但是“产品”下拉列表指向同一个数组
正如你所看到的,我已经尝试制作js但它仍然不起作用
我想问的是:
*抱歉英语不好
这是 JavaScript
<script language="javascript">
function RadioCheck() {
var number = new Array('0', '20', '30', '40', '50', '60');
var selection1 = document.quiz.product1;
var selection2 = document.quiz.product2;
var amountselection1 = parseInt(document.quiz.amount1,10);
var amountselection2 = parseInt(document.quiz.amount2,10);
for (i=0; i<selection1.length; i++) {
if (selection1[i].checked == true) {
result1=number[i]*amountselection1;
}
}
for (i=0; i<selection2.length; i++) {
if (selection2[i].checked == true) {
result2=number[i]*amountselection2;
}
}
var result = (result1 + 'is the first result, and' + result2 + 'is …Run Code Online (Sandbox Code Playgroud) 我所拥有的就是这个,但我从 java 脚本的下拉菜单中没有得到任何值来将其与字符串进行比较
// JavaScript Document
var singleMulticontainer = document.getElementById("singleMultiContainer");
var singleMultiValue = singleMultiContainer.options[singleMultiContainer.selectedIndex].value;
var nextButton = document.getElementById("nextButton");
var multipleSetWindow = "window.location='multiSet.html'"
if(singleMultiValue == "multi"){
document.getElementById("nextButton").setAttribute("data-location", "multiSet.html");
}
else{
alert("notworking");
}
Run Code Online (Sandbox Code Playgroud)
下拉菜单是这样的:如何从单个容器或多容器的选项中获取值?
<form id"suspendedProperties">
<p><h4>Select Station:
<select name="stationDropdown">
<option value="50028000">Tanama</option>
<option value="60008001">Example Riv1</option>
<option value="60008002">Example Riv2</option>
<option value="60008003">Example Riv3</option>
<option value="60008004">Example Riv4</option>
</select>
</h4></p>
<p>Select Sample Medium:
<select name="sampleMediumDropdown">
<option value="Wer">Wer</option>
<option value="WSQ">WSQ</option>
</select>
</p>
<p>Begin Date
<input type="date"/>
</p>
<p>Hydrologic Event: <select name="hydroEvent">
<option value="1">Example 1</option>
<option value="2">Example 2</option> …Run Code Online (Sandbox Code Playgroud) 我有一个像这样的选择语句:
<select onchange="change_session()" name="select_path" id="select_path">
<option name="sserver_id" id="select_path" selected value="{{ i.id }}">{{ default_server_id }}</option>
{% for i in all_server_id %}
<option name="server_id" id="select_path" value="{{ i.id }}">{{ i.session_name }}</option>
{% endfor %}
</select>
Run Code Online (Sandbox Code Playgroud)
第一个选项显示default_id在顶部,第二个选项列出所有选项.用户可以相应地更改选项并进行处理,使用AJAX发送到服务器.现在我想找出哪些server_id用户使用JavaScript选择了这样的:
var serverId=document.getElementById('server_id');
Run Code Online (Sandbox Code Playgroud)
我如何获得所选的选项?
鉴于HTML:
<select id="mySelect">
<option value="1">test1</option>
<option value="2">test2</option>
<option value="3">test3</option>
</select>
Run Code Online (Sandbox Code Playgroud)
和javascript:
var e = document.getElementById('mySelect');
Run Code Online (Sandbox Code Playgroud)
要获得我可以使用的选择的值e.value和e.options[e.selectedIndex].value.
我知道e.options[e.selectedIndex].value会给我选择的值(1,2或3),并e.options[e.selectedIndex].text根据选择的内容给我test1,test2,test3.
可以使用e.value吗?这是旧浏览器中的问题吗?
哪个更正确:e.valuevs e.options[e.selectedIndex].value?
我已经四处搜寻并尝试了各种方法,但是我无法找到一种方法来获取JavaScript来提醒我选择的选项。我所拥有的一切都在页面底部的控制台调试部分中,它说“'null'不是对象(评估'x.options')”,这向我提示我的变量x没有得到任何值首先,这是我的代码:
html
<select id=“test-dropdown” onchange=“choice1()”>
<option value=“1”>One</option>
<option value=“2”>Two</option>
<option value=“3”>Three</option>
</select>
Run Code Online (Sandbox Code Playgroud)
javascript
function choice1()
{
var x = document.getElementById(“test-dropdown”);
alert(x.options[x.selectedIndex].value);
}
Run Code Online (Sandbox Code Playgroud)
如果有人能解决问题或向我指出该问题之前得到回答的方向,我将非常感激。
我有一个 HTML 列表,我想根据用户的选择从中删除元素。我尝试使用此线程中的代码,但我的问题似乎是访问该元素。这是我的 HTML:
<div id="ShipPlacement">
Ship:
<select name="shipSelec" id="shipSelec">
<option value="aircraftCarrier">Aircraft Carrier</option>
<option value="battleship">Battleship</option>
<option value="cruiser">Cruiser</option>
<option value="destroyer">Destroyer</option>
<option value="destroyer">Destroyer</option>
<option value="submarine">Submarine</option>
<option value="submarine">Submarine</option>
</select>
<button type="button" onclick="placeShip()">Remove Selected Ship</button>
Run Code Online (Sandbox Code Playgroud)
这是我的 JavaScript:
$( document ).ready(function() {
var shipList=document.getElementById('shipSelec');
});
function placeShip() {
shipList.remove(shipList.options[shipList.selectedIndex].value;);
shipList.remove(shipList.options[shipList.selectedIndex]);
shipList.remove(shipList.options[selectedIndex]);
shiplist.remove([shipList.selectedIndex])
}
Run Code Online (Sandbox Code Playgroud)
我有几个该remove()方法的实例,但没有一个起作用。但是,我向您传达错误的最佳方式是通过 JSFiddle。