84

これは、ドロップダウン メニューで選択されたものの値を取得します。

document.getElementById('newSkill').value

ただし、ドロップダウン メニューに現在表示されているテキストの後に続くプロパティを見つけることができません。「テキスト」を試してからW3Schoolsを見ましたが、答えがありませんでした。ここにいる人はいますか?

よくわからない方のために、ドロップダウン ボックスの HTML を次に示します。

<select name="newSkill" id="newSkill">
    <option value="1">A skill</option>
    <option value="2">Another skill</option>
    <option value="3">Yet another skill</option>
</select>
4

13 に答える 13

146

サンプルの HTML コードに基づいて、現在選択されているオプションの表示テキストを取得する 1 つの方法を次に示します。

var skillsSelect = document.getElementById("newSkill");
var selectedText = skillsSelect.options[skillsSelect.selectedIndex].text;
于 2008-08-08T13:54:55.983 に答える
9

これは、選択した値のテキスト値を返す必要があります

var vSkill = document.getElementById('newSkill');

var vSkillText = vSkill.options[vSkill.selectedIndex].innerHTML;

alert(vSkillText);

小道具: @Tanerax は、質問を読んで、尋ねられたことを知り、他の人が理解する前に答えました。

編集:DownModed、私は実際に質問を完全に読んで答えたので、悲しい世界です。

于 2008-08-08T13:52:02.883 に答える
7
document.getElementById('newSkill').options[document.getElementById('newSkill').selectedIndex].value 

動作するはずです

于 2008-08-08T13:41:11.737 に答える
4

これは機能します。自分で試してみました。誰かが必要な場合に備えて、ここに投稿すると思いました...

document.getElementById("newSkill").options[document.getElementById('newSkill').selectedIndex].text;
于 2013-02-02T19:35:55.210 に答える
2

選択された各オプションのテキストを取得し、それらを div に書き込む select に change イベントをアタッチします。

あなたはjQueryを非常に顔を合わせてうまく使いやすく使うことができます

<select name="sweets" multiple="multiple">
  <option>Chocolate</option>
  <option>Candy</option>
  <option>Taffy</option>
  <option selected="selected">Caramel</option>
  <option>Fudge</option>
  <option>Cookie</option>
</select>
<div></div>


$("select").change(function () {
  var str = "";

  $("select option:selected").each(function() {
    str += $( this ).text() + " ";
  });

  $( "div" ).text( str );
}).change();
于 2015-10-01T11:55:22.013 に答える
1

これで正しい答えが得られますか?

document.getElementById("newSkill").innerHTML
于 2008-08-08T13:40:04.780 に答える
0
    var ele = document.getElementById('newSkill')
    ele.onchange = function(){
            var length = ele.children.length
            for(var i=0; i<length;i++){
                if(ele.children[i].selected){alert(ele.children[i].text)};              
            }
    }   
于 2014-05-12T18:45:29.977 に答える