从select标记获取javascript中的值

从select标记获取javascript中的值,javascript,jquery,Javascript,Jquery,我使用javascript函数从特定的获取id <select name="no" id="dropdownlist" class="defaultvalue" style="width: 100%;"> <option value="">Select Option</option> </select> 但这只能通过使用getElementByClass实现,但这对我来说不起作用。任何帮助都将不胜感激。由于您用jquery标记了您的问题,我建

我使用javascript函数从特定的
获取id

<select name="no" id="dropdownlist" class="defaultvalue" style="width: 100%;">
  <option value="">Select Option</option>
</select>

但这只能通过使用
getElementByClass
实现,但这对我来说不起作用。任何帮助都将不胜感激。

由于您用jquery标记了您的问题,我建议您使用它:

$('#dropdownlist').val();
更新:但如果您有8个选择-只需对它们使用相同的类,您就可以使用下一个代码:

$('.className').each(function(i,el){
  console.log($(this).val());
})

由于您使用jquery标记了您的问题,我建议您使用它:

$('#dropdownlist').val();
更新:但如果您有8个选择-只需对它们使用相同的类,您就可以使用下一个代码:

$('.className').each(function(i,el){
  console.log($(this).val());
})

如果您想使用带有multi-select标记的纯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;
}
函数getAllValue(){ var allSelectTags=document.getElementsByClassName(“defaultvalue”); var-selVal=[];
对于(var i=0;i

如果您想使用带有多选标记的纯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;
}
函数getAllValue(){ var allSelectTags=document.getElementsByClassName(“defaultvalue”); var-selVal=[];
对于(var i=0;i

没有
getElementByClass
,它是
getElementsByClassName
,但您也可以使用
querySelectorAll
,它具有更好的支持

var list  = [];

var elems = document.querySelectorAll('.defaultvalue');

for (var i=0; i<elems.length; i++) {
    list.push( elems[i].value );
}


ID是唯一的,它们不能用于同一文档中的多个元素

没有
getElementByClass
,它是
getElementsByClassName
,但您也可以使用
querySelectorAll
,它具有更好的支持

var list  = [];

var elems = document.querySelectorAll('.defaultvalue');

for (var i=0; i<elems.length; i++) {
    list.push( elems[i].value );
}


并且ID是唯一的,它们不能用于同一文档中的多个元素

您的不同下拉列表是否具有相同的
ID
?这是不允许的,这可能是事情不适合您的原因。您的不同下拉列表是否具有相同的
ID
?这是不允许的,这可能是事情不适合您的原因rking为您。假设OP没有多个具有相同id的下拉列表,并且希望获取所有不同的值,则可以这样做。如果是这种情况,则他们需要修复其HTML并使用
.each()
遍历每一个。@jfriend00当然。但目前OP没有确认他有很多相同id的列表。他声称他有8个,但不是相同id,而是一个类?没有,我有8个相同id。我只是删除了所有id,现在对所有id使用相同的类。假设OP没有多个下拉列表,这是可行的s都具有相同的id,并希望获取所有不同的值。如果是这样,则他们需要修复其HTML并使用
.each()
遍历每一个。@jfriend00当然。但目前OP没有确认他有很多相同id的列表。他声称他有8个,但不是相同id,而是一个类?没有,我有8个相同id。我只是删除了所有id,现在对所有id使用相同的类。结果OP有8个选择列表,并且想要获得所有的v值。@jfriend00,请看一看自定义答案。结果是OP有8个选择列表,希望获得所有值。@jfriend00,请看一看自定义答案。