3 回答

TA贡献1865条经验 获得超7个赞
在这个例子中,我们获取defaultatDOMContentLoaded并存储它。
let defaultValue;
document.addEventListener('DOMContentLoaded', () => {
defaultValue = document.querySelector('#selement').value;
});
document.addEventListener('change', (e) => {
if(e.target.matches('#selement')) {
console.log(`Default: ${defaultValue} - Selected: ${e.target.value}`);
}
});
<select id="selement">
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="vw">VW</option>
<option value="audi" selected>Audi</option>
</select>
假设完全控制 HTML:
注意:我们添加了一个data标签。
document.addEventListener('change', (e) => {
if(e.target.matches('#selement')) {
let defaultValue = e.target.querySelector('option[data-default="true"]').value;
console.log(`Default: ${defaultValue} - Selected: ${e.target.value}`);
}
});
<select id="selement">
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="vw">VW</option>
<option value="audi" data-default="true" selected>Audi</option>
</select>
再次假设 HTML 控件,但对该data选项稍作调整。
document.addEventListener('change', (e) => {
if(e.target.matches('#selement')) {
console.log(`Default: ${e.target.dataset.default} - Selected: ${e.target.value}`);
}
});
<select id="selement" data-default="audi">
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="vw">VW</option>
<option value="audi" selected>Audi</option>
</select>

TA贡献1810条经验 获得超4个赞
只需使用value:
console.log(document.getElementById("selement").value);
<select id="selement">
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="vw">VW</option>
<option value="audi" selected>Audi</option>
</select>

TA贡献1876条经验 获得超5个赞
您可以测试是否option使用 选择了一个元素.select,因此您可以遍历所有选项并获取所选元素的值,如下所示:
function getSelectedValue(dropDownId) {
var options = document.getElementById(dropDownId).children;
for (option of options) {
if (option.selected) {
return option.value;
}
}
}
dropDownId你的select元素的 id在哪里。
但是由于所选选项将被用户更改,因此您可以在页面加载脚本后立即将默认所选选项的值存储在变量中,例如一个简单的全局变量,例如 var defaultValue = getSelectedValue("my-drop-down");
添加回答
举报