2

以下のコードでは、1つの値を選択すると正常に機能しますが、リストボックスから複数の値を選択するときに、選択した値の値を取得する必要があります。どうすればいいですか?これがコードです、

HTMLコード:

<select id="attributeNames" name="attributeNames" size="5" multiple="multiple"         
onchange="getUniqueValues(value)">
<option value="Apple"> Apple </option>
<option value="Mango"> Mango </option>
<option value="Orange"> Orange </option>
<option value="Banana"> Banana </option>                                            
</select>

JavaScript:

function getUniqueValues(value){
alert(value);
}

たとえば、Appleを選択すると、appleというアラートが表示されます。今度は、apple&mangoを選択すると、apple&mangoの値を持つアラートを取得する必要があります。ここで問題に直面しています。

コードは次のとおりです:http://jsfiddle.net/5VtE3/2/

前もって感謝します、

4

5 に答える 5

2

これを行う方法の例を次に示します-

HTML-

<select id="attributeNames" name="attributeNames" size="5" multiple="multiple">
    <option value="Apple"> Apple </option>
    <option value="Mango"> Mango </option>
    <option value="Orange"> Orange </option>
    <option value="Banana"> Banana </option>                                            
</select>

JS-

window.onload = function () {
    var listbox = document.getElementById('attributeNames');
    listbox.onchange = function () {
        for(var index = 0; index < this.children.length; index++) {        
            if (this.children[index].selected) {
                console.log(this.children[index].value);
            }            
        }
    }​;
};

ライブデモ

于 2013-01-04T06:09:39.320 に答える
2

jqueryを使用してもかまわない場合は、-

function getUniqueValues(){  
    var k=0;  
    var selected_list = {};  
    $('#attributeNames option').is(':selected').each(function(){  
        selected_list[k++] = $(this).val();  
        });  
    alert(selected_list);  
    }  

また

function getrUniqueValues(){  
    $('#attributeNames option').is(':selected').each(function(){  
        alert($(this).val());  
        });  
    }  
于 2013-01-04T06:14:11.780 に答える
0

チェックボックスを試してみてください

<input type="checkbox" name="fruit" value="apple">Apple<br/>
<input type="checkbox" name="fruit" value="banana">Banana

または、次のように作成してみてください。

<select id="attributeNames" name="attributeNames" size="5" multiple="multiple" onChange="getUniqueValues()" >
  <option value="Apple"> Apple </option>
  <option value="Mango"> Mango </option>
  <option value="Orange"> Orange </option>                                           
</select>

function getUniqueValues(){
var values = this;
}
于 2013-01-04T06:08:30.350 に答える
0

これを試して:

<select id="attributeNames" onchange="getUniqueValues.call(this)" name="attributeNames" size="5" multiple="multiple">
    <option value="Apple"> Apple </option>
    <option value="Mango"> Mango </option>
    <option value="Orange"> Orange </option>
    <option value="Banana"> Banana </option>                                
</select>

function getUniqueValues(){
    for(var i = 0; i < this.options.length; i++){
        if(this.options[i].selected)
            alert(this.options[i].value);
    }
}

jsfiddle: http: //jsfiddle.net/5VtE3/7/

于 2013-01-04T06:14:09.317 に答える
0

function getValue(id) {
                    var retval = "";
                    var lstdatabase = document.getElementById(id);
                    for (var i = 0; i < lstdatabase.options.length; i++) {
                        if (lstdatabase.options[i].selected) {
                            if (retval == "") {
                                retval = lstdatabase.options[i].value;
                            }
                            else {
                                retval = retval + ',' + lstdatabase.options[i].value;
                            }
                        }
                    }
                    return retval;
                }

于 2015-12-15T06:30:17.803 に答える