<datalist>要素の使い方・サンプルコード
Sara
<datalist>
<datalist>要素は、<input>要素と関連付けることで、ユーザーに入力候補を表示することができます。
input 要素と関連づけるために、<input> 要素の list 属性の値と <datalist> 要素の id 属性の値を一致させる必要があります。
入力候補の項目は <option>要素を使用します。
デモ:datalist要素
属性
グローバル属性
全ての HTML に共通して使用できるグローバル属性はこちら
使用例
例① 基本的な使い方
input 要素の list 属性の値「color-list」と datalist 要素の id 属性の値「color-list」を一致させます。
HTML
<input type="text" list="color-list" placeholder="色を入力してください。">
<datalist id="color-list">
<option value="赤">
<option value="青">
<option value="黄">
<option value="緑">
<option value="白">
</datalist>
実行結果
例② option タグ内にテキストを追加
一部のブラウザでは、option タグ内に書いた文字列も表示されます。
HTML
<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>
実行結果
対応ブラウザ
関連するタグ
ABOUT ME
Chromium版Edgeになってから、optionタグのlabelが表示されなくて困っています。
何か良い解決策をご存じの方はいませんでしょうか?
Edge の仕様変更のようなので、今後 label 属性値が表示されるようになることはなさそうです。解決策は CSS と jQuery を使ってご自身で datalist を作成するか、プラグインを使うかのどちらかになると思います。前者はとても手間がかかってしまうのでプラグインがお勧めです。「datalist plugin」などで検索すればいくつか見つかるかと思いますのでお試しください。
同じChromium系のChromeならlabel属性値が表示されるのに、何故そのような仕様になったのか腑に落ちませんが、、、ともかく仕様なら仕方ないですね。
jQuery系のプラグインの導入で解決出来そうです。
アドバイスありがとうございました!
本当に Chromium 系で統一して欲しいものですね。。
プラグイン導入で解決できるようで良かったです!
確か Firefox も label 属性が使えなかった気がするので、多くのブラウザに対応できるプラグインが最適かと思います🙂