jQuery UIでテキストボックスにサジェスト(入力補助)機能を実装する方法
2024/05/24
メールアドレスを入力するためのテキストボックスに文字を入力すると「@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>
関連記事
-
-
「input type="number"」のテキストボックスを桁数制限且つ半角数値のみ入力可にする方法
「input type="number"」のテキストボックスに対して「2桁まで」 ...
-
-
Javascript / jQueryにて特定の要素内の文字数が〇文字以上の場合に丸める方法
サイトの特定の要素内の文字数が〇文字以上の場合に「コンテンツコンテ……」のように ...
-
-
ライブラリ等を使用せずファイルをドラッグ&ドロップでアップロードする方法
formにドラッグ&ドロップでファイルをアップロードする機能を実装する場 ...
-
-
スワイプ・フルスクリーン・サムネイル対応のjQuery画像ビューア(Fotorama)
タブレット&スマホでの閲覧が想定されているページで、スワイプ・サムネイル・フルス ...
-
-
PHPとajaxでチャットの作成
■ソース ・index.php <? error_reporting(E_ ...