<datalist> 要素は、<input>要素と関連付けることで、ユーザーに入力候補を表示することができます。
input 要素と関連づけるために、<input> 要素の list 属性の値と <datalist> 要素の id 属性の値を一致させる必要があります。
入力候補の項目は <option>要素を使用します。
属性
<datalist 属性名="ここに値を指定"></datalist>
グローバル属性
全ての HTML に共通して使用できるグローバル属性はこちら
使用例
例① 基本的な使い方
input 要素の list 属性の値「color-list」と datalist 要素の id 属性の値「color-list」を一致させます。
<input type="text" list="color-list" placeholder="色を入力してください。">
<datalist id="color-list">
<option value="赤">
<option value="青">
<option value="黄">
<option value="緑">
<option value="白">
</datalist>
例② option タグ内にテキストを追加
一部のブラウザでは、option タグ内に書いた文字列も表示されます。
<input type="text" list="color-list" placeholder="色を入力してください。">
<datalist id="color-list">
<option value="赤">Red</option>
<option value="青">Blue</option>
<option value="黄">Yellow</option>
<option value="緑">Green</option>
<option value="白">White</option>
</datalist>

対応ブラウザ
関連するタグ
独学でプログラミングを勉強するのは難しそう、効率的にプログラミングを学びたいという方はオンラインスクールがオススメです。
オンラインスクールを選ぶときのポイント
- 無料体験があること
- 個別サポートがあること
自分にあったスタイルを見つけるために、無料体験のご利用をオススメします。(無料体験後に自分には合わないなと感じたらハッキリ断ってしまって問題ありません。)
個別サポートもプログラミング学習に挫折しないために重要なポイントです。エラーや困った時にすぐに個別対応をしてくれるスクールを利用して下さい。
ここでは3つのオンラインスクールを紹介します。
全て無料体験がありますので、ぜひ自分に合ったスクールを見つけてみて下さい????
1. TechAcademy(テックアカデミー)
2. CodeCamp(コードキャンプ)
3. Treehouse
英語でも良い、英語とプログラミングを同時に勉強したいという方は Treehouse がオススメです。月25ドルで始めることができて、たくさんのプログラミング言語を学ぶことができます。
個別サポートはありませんが、掲示板が充実しています。ほとんどの場合、質問してから30分程度で回答を得ることができます。
Chromium版Edgeになってから、optionタグのlabelが表示されなくて困っています。
何か良い解決策をご存じの方はいませんでしょうか?
Edge の仕様変更のようなので、今後 label 属性値が表示されるようになることはなさそうです。解決策は CSS と jQuery を使ってご自身で datalist を作成するか、プラグインを使うかのどちらかになると思います。前者はとても手間がかかってしまうのでプラグインがお勧めです。「datalist plugin」などで検索すればいくつか見つかるかと思いますのでお試しください。
同じChromium系のChromeならlabel属性値が表示されるのに、何故そのような仕様になったのか腑に落ちませんが、、、ともかく仕様なら仕方ないですね。
jQuery系のプラグインの導入で解決出来そうです。
アドバイスありがとうございました!
本当に Chromium 系で統一して欲しいものですね。。
プラグイン導入で解決できるようで良かったです!
確か Firefox も label 属性が使えなかった気がするので、多くのブラウザに対応できるプラグインが最適かと思います🙂