1

複数の動的 (コンボ ボックス) ドロップダウン リストがあり、各リストのクリック時に単一の変数で異なるリストから選択したすべての項目の値を取得したい

function createList(arrunique,arrayout){
        for (i=0 ; i < arrayout[0].length ; i++){
        var divId = i;          
        $('#tb').append('<select class="list" onclick="getChecked()" name="combo" id="'+divId+'"></select>');
        var select = document.getElementById(divId);
        select.options[select.options.length] = new Option("Select "+ arrunique[i][0]);
        for (j=1 ; j < arrunique[i].length ; j++){
            select.options[select.options.length] = new Option(arrunique[i][j]);
          }
         }
        }

        function getChecked(){              
            var elm = document.getElementByName("combo");
            alert(elm.options[elm.selectedIndex].value);
        }

選択したアイテムの値を取得する方法を教えてください 選択したアイテムの値を取得する方法を教えてください 選択したアイテムの値を取得する方法を教えてください 選択したアイテムの値を取得する方法を教えてください

4

3 に答える 3

2

jQueryを使用していますか?これを試してください:

function getChecked(){
    alert($('select[name="combo"]').find(":selected").text());
}

アップデート

動的タグで値を取得したい場合は、パラメータを入れてください。

function getChecked(element){
    alert($('select[name="' + element + '"]').find(":selected").text());
}

呼び出すには:

getChecked('combo')

getChecked('combo_2')

getChecked('combo_3')...

于 2013-08-29T07:18:02.577 に答える
0

アルディの答えは非常に近いと思いますが、完全ではありません。

select ではなく、option 要素の :selected を取得する必要があります。つまり、セレクターは次のようにする必要があります。$('select[name="' + element + '"] option:selected').text()

最新のレガシー jQuery を使用した実際の例:

HTML:

<select name="testSelect">
    <option value="1">Test1</option>
    <option value="2">Test2</option>
    <option value="3">Test3</option>
    <option value="4">Test4</option>
    <option value="5">Test5</option>
</select>

<div class="log"></div>

Javascript:

function getChecked(element){
    $('.log').append('<br/>Selected element: ' + $('select[name="' + element + '"] option:selected').text());
}

$('select').on('change', function() {
    getChecked($(this).prop('name'));
});

ライブデモ: http://jsfiddle.net/daJzE/2/

于 2013-08-29T07:50:02.067 に答える