1

選択があり、現在選択されているオプションの表示値を取得しようとしていますが、value = ""を意味するわけではなく、.val() これが私の選択であると言えます

<select id="name" >
<option value="">select all</option>
<option selected="selected" value="1">Text 1</option>
<option value="2">Text 2</option>
<option value="3">Text 3</option>
</select>

現在選択されている「テキスト1」の選択された値を取得しようとしているとしましょう

私はもう試した

$('#name').text();

ただし、これは4つのオプションすべてのテキストを返します。

より良い方法はありますか?

4

5 に答える 5

2

それと同じくらい簡単です:

$("#name > option:selected").text();

または純粋なJavaScriptの場合:

var selEl   = ​document.getElementById("name")​​,
    selText = selEl.options[selEl.selectedIndex].innerHTML;

console.log(selText);
于 2012-12-10T00:02:56.510 に答える
1
$('option:selected', '#name').text();
于 2012-12-10T00:01:42.980 に答える
1

おそらく、JQueryを使用しています。あなたはただできるはずです:

$("#name").children("[selected]").text();
于 2012-12-10T00:04:56.437 に答える
0

私は$($('#name')[0].options[$('#name')[0].selectedIndex]).text();あなたが望むものをあなたに与えるべきだと思います。少なくとも、.textビットを削除すると、選択したオプションノードを参照するjQueryオブジェクトが返されます

于 2012-12-10T00:02:07.557 に答える
0

.selectedIndex次のようにプロパティを操作する必要があります。

var node = document.getElementById( 'name' ), val;

node.onchange = function() {

    val = this[ this.selectedIndex ].value;

};

valvalue現在選択されている要素のを保持します。

于 2012-12-10T00:02:23.653 に答える