Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 读取选择=多个不工作_Javascript - Fatal编程技术网

Javascript 读取选择=多个不工作

Javascript 读取选择=多个不工作,javascript,Javascript,我有一个多选选项,如下所示 <select name="cars" id="carsId" multiple> <option value="volvo">Volvo</option> <option value="saab">Saab</option> <option value="opel">Opel</option> <option value="audi">Audi</o

我有一个多选选项,如下所示

<select name="cars" id="carsId" multiple>
  <option value="volvo">Volvo</option>
  <option value="saab">Saab</option>
  <option value="opel">Opel</option>
  <option value="audi">Audi</option>
</select>
<input type="submit" onclick="readValues()">
请帮帮我,伙计们

使用jQuery:

function readValues() {
    var values = [];
    $('[name="cars"] option').each(function() {
        values.push($(this).val());
    });
    return values;
}
使用纯javascript:

var readValues = function () {
    var options = document.getElementById('carsId').children;
    var values = [];
    for(i = 0; i < options.length; ++i) {
        values.push(options[i].value);
    }
    console.log(values);
    return values;
}
var readValues=函数(){
var options=document.getElementById('carsId').children;
var值=[];
对于(i=0;i
演示:

您可以尝试以下方法:

如果您使用的是jQuery,您可以尝试以下内容

jQuery解决方案

function readValuesJQuery(){
    var A = $("select option").map(function(){
        return this.value;
    }).get();
    console.log(A);
}
function readValuesJavascript(){
   var ddlArray= new Array();
   var ddl = document.getElementsByTagName('select')[0];
   for (i = 0; i < ddl.options.length; i++) {
      ddlArray[i] = ddl .options[i].value;
   }
   console.log(ddlArray);
}

javascript解决方案

function readValuesJQuery(){
    var A = $("select option").map(function(){
        return this.value;
    }).get();
    console.log(A);
}
function readValuesJavascript(){
   var ddlArray= new Array();
   var ddl = document.getElementsByTagName('select')[0];
   for (i = 0; i < ddl.options.length; i++) {
      ddlArray[i] = ddl .options[i].value;
   }
   console.log(ddlArray);
}
函数readValuesJavascript(){ var ddlArray=新数组(); var ddl=document.getElementsByTagName('select')[0]; 对于(i=0;i

您也可以尝试以下方法:

var readValues = function () {
    var options = document.getElementById('carsId').options;
    var list = [],
        i = options.length;
    while (i--) {
        list.push(options[i].value);
    }
    console.log(list);//<-- ["audi", "opel", "saab", "volvo"] 
};
var readValues=函数(){
var options=document.getElementById('carsId').options;
变量列表=[],
i=选项。长度;
而(我--){
list.push(选项[i].value);
}

console.log(list);//尝试跟踪它的工作状态

HTML


这里没有标记jQuery!@fish\u-ball它很好地只返回选定的值。我需要全部!可能重复@Exlord我检查过了,这是另一种情况!!你是指所有选项,而不仅仅是选定的一次还是只选择了一次?@Exlord我需要将该字段中的所有值放入一个数组中。希望你得到它!!问题@Exlord已链接到,应该会告诉您所有需要知道的内容。不要创建字符串,只需将值添加到数组中即可。@downvoter提及downvote的原因是一种很好的做法!
 var options = [];
$("#id option").each(function()
{
    options.push($(this).val());
});
var readValues = function () {
    var options = document.getElementById('carsId').options;
    var list = [],
        i = options.length;
    while (i--) {
        list.push(options[i].value);
    }
    console.log(list);//<-- ["audi", "opel", "saab", "volvo"] 
};
<select name="cars" id="carsId" multiple>
  <option value="volvo">Volvo</option>
  <option value="saab">Saab</option>
  <option value="opel">Opel</option>
  <option value="audi">Audi</option>
</select>
<input type="button" id="btnClick" value="getValue">
//1. for selected value:
$(document).ready(function(){
      $('#btnClick').click(function(){
         var selText = [];
         $("#carsId option:selected").each(function () {
           var $this = $(this);
           if ($this.length) {
            selText.push($this.text());
           }
        });
          alert(selText);
    });
});

//2. get all value without any selection:

 $(document).ready(function(){
      $('#btnClick').click(function(){
         var selText = [];
         $("#carsId option").each(function () {
           var $this = $(this);
           if ($this.length) {
            selText.push($this.text());
           }
        });
          alert(selText);
      });
  });