次のコードを動的に取得したかったのです。
var items = $("#scenario_select option");
上記は(とdropDownObj= $("#scenario_select");
:
function someFunction(dropDownObj){
var items = $(dropDownObj + " option");
var items = $("#" + dropDownObj + " option");
}
これは両方とも機能しません。私はそれについての助けを見つけられませんでした(optionsタグなしでのみ)
どんな助けでも大歓迎です。
これを試して:
function someFunction(dropDownObj){
var items = $('#' + dropDownObj.prop('id') + " option");
}
しかし、それを行うためのより「適切な」方法は、@ Exceptionによって提案されたfindを使用するか、次を使用することだと思います。
function someFunction(dropDownObj){
var items = $("option", dropDownObj);
}
これは基本的に.find()と同じことをします。2つの比較については、このSOの質問を参照してください(tl; dr:ほぼ同等です)。
(コメントに記載されているように)アイテムの数を見つけるには、次のものを使用することもできます。
function someFunction(dropDownObj){
var items = $("option", dropDownObj).length;
}
これは、コメントに投稿したソリューションよりも少し短いです。
また、
dropDownObj= $("#scenario_select");
これはすでにjQueryオブジェクトであり、$を使用してラップする必要はありません。これを念頭に置いて、ソリューションは次のようになります。
var items = dropDownObj.children('option').length;
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加