-1

フォームの一部としてドロップダウンリストがあります。アクションとしてJavaScript関数を呼び出し、その内容はいくつかの文字列の1つです。

その関数では、ユーザーが選択した文字列を取得する必要があります。選択した項目のインデックス番号を取得できる機能に出くわしましたが、リストの内容が異なる場合があるため、実質的に役に立たないです。getElementById()おそらくDOMと、またはJQueryを使用して、ユーザーが入力した実際の文字列を取得できるメソッドはありますか?

テキストフィールドの使用を検討しましたが、インターフェイスに関連するエラーが発生する可能性があります。

4

2 に答える 2

1

あなたが何を望んでいるのかよくわかりませんが、私が理解したことから、おそらくこれがそれです:

HTML

<select>
    <option value="1">This is the first one</option>
    <option value="2">This is the second one</option>
</select>

Javascript

$('select').on('change', function() {
    alert($(this).find('option:selected').text());
})
于 2012-10-18T01:05:41.773 に答える
0

編集: 値ではなく、オプションのテキストが必要なようです。

2番目の編集: OPでRobの提案を使用するため、反復する必要はありません。

HTML

​&lt;select name="myselect" id="myselect">
  <option value="alpha">one</option>
  <option value="beta">two</option>
  <option value="gamma">three</option>
</select>​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​

JS

var mySelect = document.getElementById('myselect')​​​; //get our select by its ID
mySelect.addEventListener('change', function(evt){
   return evt.target.options[evt.target.selectedIndex].text;  
});

</p>

addEventListenerは Internet Explorer 8 以下では機能しないため、attachEventを使用する必要があることに注意してください。ただし、これでかなり良いアイデアが得られるはずです。詳細については、 https://developer.mozilla.org/en-US/docs/DOM/element.addEventListenerを参照してください。

</p>

于 2012-10-18T01:10:25.560 に答える