jqueryを使用してドロップダウンの最初の要素を選択するにはどうすればよいですか?


106

jqueryを使用して、ページ上のすべての選択タグで最初のオプションを選択する方法を知りたいです。

これを試しました:

$('select option:nth(0)').attr("selected", "selected"); 

しかし、うまくいきませんでした

回答:


193

これを試してください...

$('select option:first-child').attr("selected", "selected");

別のオプションはこれですが、以下にコード化されているように、一度に1つのドロップダウンリストに対してのみ機能します。

var myDDL = $('myID');
myDDL[0].selectedIndex = 0;

価値に基づいて設定する方法についてのこの投稿を見てください。興味深いですが、この特定の問題の解決には役立ちません。

jQueryを使用してドロップダウンリストの選択した値を変更する


すべての選択タグが欲しいので、myIDをselectに変更するだけ
Amr Elgarhy

26
jQueryでは、.prop()メソッドを介してプロパティにアクセスできます。したがって$("select").prop("selectedIndex",0);、すべてのドロップダウンで最初のオプションをすばやく選択するために使用できます。
CBarr 2012年

3
属性を設定するだけで、これがすべてのブラウザーで「変更」イベントをトリガーするかどうか知っていますか?Chromeのようですが、十分にテストされていません。念のため、もう一台追加することを考えてい$('select').trigger('change');ました。ありがとう!
ブライアンアームストロング

3
var myDDL = $('myID')セレクターにハッシュが必要var myDDL = $('#myID')
user1069816

1
この方法は私のためにうまく機能:$('select option').first().prop('selected',true);
ロレンツォMagon

13

セレクタが間違っています。おそらく探していました

$('select option:nth-child(1)')

これも機能します:

$('select option:first-child')

3
CSSのn番目の子セレクターのインデックスは0ではなく1から始まります
Sergey

10

RSolgbergのAna代替ソリューション。'onchange'存在する場合にイベントを起動します。

$("#target").val($("#target option:first").val());

<select>の最初のオプションをjQueryで選択する方法は?


1
選択したオプションを複数回変更する必要がある場合、これは受け入れられた回答よりもうまく機能します。たとえば、オプションをフィルタリングしてその一部を表示する場合などです。
Guillaume Renoult


4

あなたが望むのはおそらく:

$("select option:first-child")

このコードとは

attr("selected", "selected");

「選択済み」属性を「選択済み」に設定している

選択したオプションが必要な場合、それが最初の子であるかどうかに関係なく、セレクターは次のとおりです。

$("select").children("[selected]")

1
交換するattrpropあなたはjQueryの1.6+使用している場合
Jesan Fafon

2

以前の回答が最新バージョンのjQueryで機能しなくなったため、回答します。いつ機能しなくなったのかはわかりませんが、ドキュメントには、jQuery 1.6以降、.prop()がプロパティの取得/設定に推奨されるメソッドであると記載されています。

これは私がそれを機能させる方法です(jQuery 3.2.1で):

$('select option:nth-child(1)').prop("selected", true);

私はknockoutjsを使用しており、上記のコードでは変更バインディングが起動していなかったため、最後に.change()を追加しました。

これが私のソリューションに必要なものです:

$('select option:nth-child(1)').prop("selected", true).change();

こちらのドキュメントの.prop()に関する注記を参照してください:http ://api.jquery.com/prop/


2

以下は、javascriptほとんどの場合に機能する簡単なソリューションです。

document.getElementById("selectId").selectedIndex = "0";

1

最初の子かどうかに関係なく、選択したオプションのテキストを確認する場合。

var a = $("#select_id option:selected").text();
alert(a); //check if the value is correct.
if(a == "value") {-- execute code --}

2番目の検索を保存しました。これは私が探していたものとほぼ同じですが、値を確認するよりも値を変更することに興味がありました。 $('#myID option:selected').text('NEW STRING');
Ricky Payne

1
    var arr_select_val=[];

    $("select").each(function() { 
        var name=this.name;
            arr_select_val[name]=$('select option:first-child').val();
    });


// Process the array object
     $('.orders_status_summary_div').print(arr_select_val);
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.