我不知道是否有可能在Javascript中获得在当前选择的选项<select multiple>
使用Selctors API,而不是在所有选项的“愚蠢”迭代领域。
select.querySelectorAll('option[selected="selected"]')
只返回被标记为原始的HTML,这是不是我要找的预选的选项。 有任何想法吗?
我不知道是否有可能在Javascript中获得在当前选择的选项<select multiple>
使用Selctors API,而不是在所有选项的“愚蠢”迭代领域。
select.querySelectorAll('option[selected="selected"]')
只返回被标记为原始的HTML,这是不是我要找的预选的选项。 有任何想法吗?
document.querySelectorAll('option:checked')
即使工作在IE9;)
我也经历了您的问题,我有一种感觉它与JavaScript不承认在DOM变化有关。
这里是一个解决方案:
的jsfiddle
document.getElementById('test').onclick = function () {
var select = document.getElementById('select');
var options = getSelectedOptions(select);
console.log(options);
};
function getSelectedOptions(select) {
var result = [];
var options = select.getElementsByTagName('option');
for (var i = 0; i < options.length; i++) {
if (options[i].selected)
result.push(options[i]);
};
return result;
}