- 投稿日
- 2022年07月15日
プルダウンメニューにもなるテキストボックス
はじめに
プルダウンで入力していて、たまにデフォルト以外の値も入力したいってことありますよね?
そこで、両方の機能をもったテキストボックスを作ってみました。
今回は、jQuery と jQuery UI でやってみたいと思います。
ついでに、Autocomplete も追加してみます。
そこで、両方の機能をもったテキストボックスを作ってみました。
今回は、jQuery と jQuery UI でやってみたいと思います。
ついでに、Autocomplete も追加してみます。
html
index.html
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="https://code.jquery.com/ui/1.13.2/themes/base/jquery-ui.min.css" />
<link rel="stylesheet" href="./style.css" />
</head>
<body>
<input type="text" name="fruits" id="textbox" placeholder="くだもの" />
<script src="https://code.jquery.com/jquery-3.6.0.min.js" integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4=" crossorigin="anonymous"></script>
<script src="https://code.jquery.com/ui/1.13.2/jquery-ui.min.js" integrity="sha256-lSjKY0/srUM9BE3dPm+c4fBo1dky2v27Gdjm2uoZaL0=" crossorigin="anonymous"></script>
<script src="./script.js"></script>
</body>
</html>
CSS
CSSが無くても機能自体に特に影響はありません。
style.css
input[type="text"] {
box-sizing: border-box;
width: 10em;
margin: 0;
padding: 0.5em;
border: none;
background-color: #fffbea;
text-align: left;
font-size: 16px;
line-height: 1;
}
input[type="text"]:focus {
background-color: #f8ffbe;
}
Javascript
プルダウンメニューでなく、オートコンプリートのみでも動きます。
その場合、DBのデータをajaxで呼び出して、オートコンプリートさせることもできます。
その場合、DBのデータをajaxで呼び出して、オートコンプリートさせることもできます。
script.js
$('#textbox').autocomplete({
minLength : 0,
delay : 0,
source: function(request, response) {
response(
$.grep(['りんご', 'みかん', 'バナナ', 'ぶどう', 'パイナップル', 'パイナップルジュース'], function(value) {
return value.indexOf(request.term) === 0;
})
);
},
select : function(event, ui) {
$(this).val(ui.item.name)
}
}).focus(function() {
$(this).autocomplete('search', '')
});
DEMO
https://blog.c-blanc.com/demo/blog/6/
テキストボックスに加え、プルダウンメニューも機能します。
プルダウンには、オートコンプリート機能も付けたので、例えば、「パ」とか「パイナ」などと入力すると、「パイナップル」と「パイナップルジュース」がリストアップされます。
1台3役といったところでしょうか。
テキストボックスに加え、プルダウンメニューも機能します。
プルダウンには、オートコンプリート機能も付けたので、例えば、「パ」とか「パイナ」などと入力すると、「パイナップル」と「パイナップルジュース」がリストアップされます。
1台3役といったところでしょうか。
終わりに
jQueryはまだまだ現役ですよね?
「えっ、まだ使ってるの?」って?w
ただ、jQuery UIが開発終了になりました。
代替えを考えないといけませんね。(何が良いのでしょうか?)
datepicker なども多用しているので、大変です。
HTML5も廃止されましたし、今後どうなっていくのでしょうか。
「えっ、まだ使ってるの?」って?w
ただ、jQuery UIが開発終了になりました。
代替えを考えないといけませんね。(何が良いのでしょうか?)
datepicker なども多用しているので、大変です。
HTML5も廃止されましたし、今後どうなっていくのでしょうか。
PROFILE
- C:blanc
- フリーランスのプログラマーです。
COMMENT
送信しました! コメントは承認後表示されます!