勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

jQuery UIでテキストボックスにサジェスト(入力補助)機能を実装する方法

   2024/05/24  jQuery JavaScript

メールアドレスを入力するためのテキストボックスに文字を入力すると「@yahoo.co.jp」「@google.com」のようにアットマーク以降の文字を簡単に選択できるようにしたい。つまりサジェスト(入力補助)機能を実装したい。jQuery UIを用いることで簡単に実装できたので以下にメモ。

 

リファレンス

https://jqueryui.com/autocomplete/

 

サンプル

https://taitan916.info/sample/autocomplete/

 

ソースコード

<input type="text" id="mail_id">

<script type="text/javascript" src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.13.3/jquery-ui.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.13.3/themes/blitzer/jquery-ui.min.css">

<script>
$(function () {
    $('#mail_id').on('keyup change keydown', function(){
        let address = [
            "@yahoo.co.jp", 
            "@gmail.com", 
            "@hotmail.co.jp", 
            "@outlook.jp", 
            "@mail.goo.ne.jp", 
            "@livedoor.com", 
            "@hotmail.com", 
            "@ybb.ne.jp", 
            "@live.jp"
        ];
        for (i = 0; i < address.length; i++) {
            address[i] = address[i].split("@").join($(this).val()+"@");
            if ($(this).val().indexOf("@") == -1) {
                $(this).autocomplete({
                    source: address
                });
            }
        }
    });
});
</script>

 - jQuery JavaScript

  関連記事

jQueryの日付&時間のピッカー(bootstrap-datetimepicker)について
jQueryの日付&時間のピッカー(bootstrap-datetimepicker)について

日付のピッカーはよく見るけど、時間のピッカーはあまり見ないので、普通のセレクトメ ...

指定した要素に注釈を設定できる「Chardin.js」プラグインの利用方法
指定した要素に注釈を設定できる「Chardin.js」プラグインの利用方法

指定した要素に注釈を入れることができるjQueryプラグイン「Chardin.j ...

jQueryで指定した可変(レスポンシブ)要素のposition / width / heightを取得する方法
jQueryで指定した可変(レスポンシブ)要素のposition / width / heightを取得する方法

jQueryで指定した要素のposition(leftやtop) / width ...

jquery.cookie.jsで保存期間を時間指定する方法
jquery.cookie.jsで保存期間を時間指定する方法

jquery.cookie.jsで保存期間を1時間等、時間指定したい。公式サイト ...

jQueryで同サーバ内のCSVを読み込み、配列やオブジェクトとして取り扱う方法
jQueryで同サーバ内のCSVを読み込み、配列やオブジェクトとして取り扱う方法

先日バニラJavaScriptで同サーバ内のCSVを読み込み、配列として取り扱う ...