我正在使用javascript函数来获取特定<select></select>
的ID。
<select name="no" id="dropdownlist" class="defaultvalue" style="width: 100%;">
<option value="">Select Option</option>
</select>
但问题是我有8 <select></select>
用于dropwdown,我想在javascript中获取这些值:
var list = document.getElementById('dropdownlist');
但这只能通过使用getElementByClass
来实现,但这对我不起作用。任何帮助将不胜感激。
答案 0 :(得分:4)
由于您使用jquery标记了您的问题,我建议您使用它:
$('#dropdownlist').val();
更新:但如果您有8个选择 - 只需为它们使用相同的类,您就可以使用下一个代码:
$('.className').each(function(i,el){
console.log($(this).val());
})
答案 1 :(得分:1)
如果您想使用带有多选标记的纯JavaScript,请使用以下代码
<强>更新强>
function getAllValue(){
var allSelectTags = document.getElementsByClassName("defaultvalue");
var selVal = [];
for(var i=0; i<allSelectTags.length; i++){
var value = allSelectTags[i].options[allSelectTags[i].selectedIndex].value;
selVal.push(value);
}
var result = "";
for(var j=0; j<selVal.length; j++){
result += selVal[j] + "<br />";
}
document.getElementById("result").innerHTML = result;
}
答案 2 :(得分:1)
没有getElementByClass
,它是getElementsByClassName
,但你也可以使用querySelectorAll
,它有更好的支持
var list = [];
var elems = document.querySelectorAll('.defaultvalue');
for (var i=0; i<elems.length; i++) {
list.push( elems[i].value );
}
在jQuery中你可以做到
var list = $.map($('.defaultvalue'), function(el) { return el.value});
ID是唯一的,它们不能用于同一文档中的多个元素