我怎么能存储选项值从一个选择框列表到一个变量,用逗号分隔的?
即:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<select id="fruits">
<option value="orange">orange</option>
<option value="banana">banana</option>
<option value="kiwi">kiwi</option>
<option value="mango">mango</option>
<option value="pear">pear</option>
<option value="strawberry">strawberry</option>
</select>
</body>
</html>
该变种会是以下几点:
var x = "orange,banana,kiwi,mango,pear,strawberry"
我建议,在其最简单的:
var select = document.getElementById('fruits'),
opts = select.getElementsByTagName('option'),
x = [];
for (var i = 0, len = opts.length; i < len; i++) {
x.push(opts[i].value);
}
x = x.join();
<select>
s有一个叫options
属性。你可以遍历它像一个普通的数组。然后,您可以将其值添加到另一个,简单数组,并使用join
做一个逗号分隔的列表出来。
// Get the select
var select = document.getElementById("fruits");
// This array will hold the values only
var values = [];
// Iterate the options
for (var i = 0; i < select.options.length; i++) {
// Store the value inside our array
values.push(select.options[i].value;
}
// Make a comma seperated list
var x = values.join(",");
尝试:
var x = document.getElementById('fruits').options;
var values = [];
for(var i=0;i<x.length;i++){
values.push(x[i].value);
}
var val = values.join(",");
使用getElementsByTagName('option')
和for
循环是你的朋友在这里。
var options = document.getElementsByTagName('option');
var x = new Array();
for(var i = 0; i < options.length; i++) {
x.push(options[i].value);
}
x = x.join(', ');
尝试这个
<select>
<script language="text/javascript">
var x = new Array("orange,banana,kiwi,mango,pear,strawberry");
for(var i=0; i<x.length; i++)
{
document.write("<option value=\""+states[i]+"\">"+states[i]+"</option>");
}
</script>
</select>