1. ホーム
  2. jquery

[解決済み] jQuery を使って選択リストのオプションを非表示にする

2022-12-03 21:01:35

質問

選択リストで非表示にしたり削除したりしたいオプションのキーと値のペアを持つオブジェクトがあります。 以下のオプションセレクタはどちらも機能しません。何が足りないのでしょうか?

$.each(results['hide'], function(name, title) {                     
  $("#edit-field-service-sub-cat-value option[value=title]").hide();
  $("#edit-field-service-sub-cat-value option[@value=title]").hide();
}); 

どのように解決するのですか?

参考までに、2番目の形式( @ を含む)はjQuery 1.3には存在しない。 1つ目の形式がうまくいかないのは、明らかに変数補間を期待しているからです。 これを試してみてください。

$("#edit-field-service-sub-cat-value option[value=" + title + "]").hide();

この場合、おそらく様々な恐ろしい方法で壊れるでしょう。 title が jQuery selector metacharacters を含んでいる場合、これはおそらく様々な方法で壊れます。