我有这个例子:
<form action="form_action.asp">
<select multiple="multiple" name="example" size="10">
<option value="foo">Foo</option>
<option value="bar">Bar</option>
<option value="anything">Anything</option>
<option value="else">Else</option>
</select>
<input type="submit" />
</form>
我想显示选择了多少行(按CTRL + clic)。我想我可以用一些JS来做,但我不知道如何写它。
有什么想法吗?
答案 0 :(得分:2)
首先给你选择一个id
<select id="yourSelect" multiple="multiple" name="example" size="10">
然后
var numSelected = 0;
var allOptions = document.getElementById("yourSelect");
for (var i = 0; i < allOptions.length; i++)
if (allOptions[i].selected)
numSelected++
为了完整起见,我会提到如果你想使用jQuery,我不是说你应该为这么简单的东西,但如果你曾经这样做,你可以用
来做var numSelected = $("option:selected", "#yourSelect").length;
答案 1 :(得分:0)
我用Google搜索并找到this article
var selected = new Array();
for (var i = 0; i < ob.options.length; i++) {
if (ob.options[ i ].selected) {
selected.push(ob.options[ i ].value);
}
}
这将创建带有选项的Array
(selected
)。您可以轻松更改它以获取所选项目的数量。
答案 2 :(得分:0)
制作example: 但核心是:
function parseSelected() {
var count = 0;
for ( var i = 0; i < length; i++ ) {
if ( select[ i ].selected ) {
count++
}
}
output.innerHTML = count;
}