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;ivar 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);
});
});