5

一部のデータを自動入力するために、html データリストを使用しています。1 つのデフォルト値を除くすべてをフィルタリングする必要がある動作が必要です。以下はコード例です。

<input type="text" list="mylist"/>
<datalist id="mylist">
    <option value="San Jose"></option>
    <option value="San Francisco"></option>
    <option value="New York"></option>
    <option value="Chicago"></option>
    <option value="Boston"></option>
    <option value="Los Angeles"></option>
</datalist>

上記で、デフォルトでは、s を入力すると San Jose と San Francisco のみが表示され、n を入力すると New York のみが表示されます。

私の要件は、どのような場合でも、入力されたものは常に San Jose を表示し (デフォルトで)、残りの要素をフィルタリングする必要があるということです。

例: B を入力すると、San Jose と Boston の両方が表示されます。これは、San Jose がデフォルト値で、Boston が入力ボックスのフィルター処理された値であるためです。

これは可能ですか?そうでない場合、同じ結果を達成するための代替方法は何ですか?

JSFiddle

必要に応じて Javascript/Jquery を使用してもかまいません。ただし、オートコンプリート プラグインは使用できません。

4

1 に答える 1

3

これは、カスタム プラグインを使用しないと不可能です。datalistサポートはせいぜい平凡であり、現在、表示されるオプションに影響を与える方法はありません。

影響を受けることさえできないブラウザー実装の違いがいくつかあります (Chrome はオプションの開始時にのみ一致し、FireFox はオプション内の他の場所のテキストにも一致します)。これを変更する方法はありません。ましてや、特定の提案を表示するカスタムの方法を追加することはできません。

于 2015-05-05T13:46:18.833 に答える