7

テキストエリアで datalist を使用できるかどうかを確認したかったのです。入力フィールドを操作していますが、ここでのタスクでは、「データリストを使用して1行のテキストボックスに入力候補を追加する」必要があります。それは意味がありますか?

            <fieldset>
                <legend>
                    Välj favoritbild med hjälp av datalist - skriv i listan nedan
                </legend>
                <input list="bilar" name="bil">
                <!--<TEXTAREA list="bilar" NAME="bil" ROWS="1"></TEXTAREA>  -->
                <datalist id="bilar">
                    <option value="Dodge Viper">
                    <option value="Honda Civic">
                    <option value="Corvette Z06">
                    <option value="Volvo V70">
                    <option value="Ferrari Spider 360">
                </datalist>                 
            </fieldset>

ただし、テキストエリア (上記でコメントアウトされています) では動作しません。ただし、input-element では機能します。

上記の例を1行のテキストボックスで動作させる方法を知っている人はいますか?

4

3 に答える 3

5

いいえ、定義により要素datalistに関連付けられているためです。inputさらに、アイテムを選択することは、関連付けられた要素に追加するのではなくdatalist、関連する要素の値全体を置き換えることを意味します。inputこれは、要素に事前定義された代替を使用した場合に通常考えられることですtextarea

テキスト領域の入力に使用するための事前に作成された代替リストのアイデアに非論理的なことは何もありませんが、現在の HTML には何もありません (または、私が知る限り、計画されています)。ただし、JavaScript でかなり簡単にコーディングできます。

たとえば、ulリストとして、またはselect要素として、アイテムのリストを持つことができます。textarea次に、アイテムがクリックされたときやselectリストから選択されたときに、アイテムのテキストが要素に書き込まれたり追加されたりするようにする小さな JavaScript を追加します。

通常、単一行のテキスト入力フィールドを として持つ理由はありませんtextarea。おそらく非常に特殊な場合を除いて、可能ですが、役に立たないだけです。<textarea rows=1 ...>ユーザーは任意の数の行を入力できることに注意してください。これは非常に不便です。

于 2014-05-09T10:29:17.373 に答える