多选

时间:2009-12-15 06:24:47

标签: javascript html select

嗨我需要在下拉框中选择所有值。请参阅示例。

<html>
<head>
<script>
function getSelected()
{
alert(document.myform.mytextarea.value);
return false;
}
</script>
<title></title>
</head>
<body>
<form name=myform>
<select id=mytextarea size=3 multiple>
<option id=one value=one> one </option>
<option id=two value=two> two </option>
<option id=three value=three> three </option>
<option id=four value=four> four </option>
</select>
<input type="button" onclick="getSelected();"/>
</form>
</body>
</html>

如何检索下拉列表中选中的所有多个值。现在我只得到一个值

6 个答案:

答案 0 :(得分:4)

你可以使用这样的东西

function getSelected()
{
    var dropDownElem = document.getElementById ( "mytextarea" );
    var selectedValues = new Array();
    var dropDownLength = dropDownElem.length;

    for ( var i=0; i < dropDownLength; i++ )
    {
        if ( dropDownElem.options[i].selected )
        {
            selectedValues.push ( dropDownElem.options[i].value );
        }
    }

    alert ( selectedValues.toString() ); // gets the values separated by ','
    alert ( selectedValues.join(';') ); // gets the values separated by ';'
}

<强> 注意

从HTML端移动javascript也是一种很好的做法。从HTML中删除onclick处理程序并将其绑定到<script>标记内。

答案 1 :(得分:2)

尝试此功能

    function getSelected()
    {
        var lst = document.myform.mytextarea;
        for (var i = 0; i < lst.options.length; i++)
            if (lst.options[ i ].selected)
                alert(lst.options[ i ].value);
        return false;
    }

在这里找到

How to get selected items from using Javascript

答案 2 :(得分:0)

http://www.digitalamit.com/blog/blog/23.html

var selected = new Array(); 
for (var i = 0; i < mytextarea.options.length; i++) 
    if (mytextarea.options[ i ].selected) 
        selected.push(mytextarea.options[ i ].value);

答案 3 :(得分:0)

试试这个

function getSelected()
{
for(var i=0; i <= document.myform.mytextarea.options.length - 1; i++)
{
    if(document.myform.mytextarea.options[i].selected)
    {
        alert(document.myform.mytextarea.options[i].value);
    }
}
return false;
}

答案 4 :(得分:0)

您可以尝试以下内容:

var select = document.getElementById('mytextarea');
var selected = new Array();
for (var i = 0; i < select.options.length; i++) {
    if (select.options[i].checked) {
        selected.push(select.options[i]);
    }
}

答案 5 :(得分:0)

试试这个:

function getSelected() {
     var selections = new Array();
     var options = document.getElementById('mytextarea').options;
     for (var i=0; i<options.length; i++) {
         if (options[i].selected) {
             selections[selections.length] = options[i].value;
         }
     }
     return selections;
}