jQuery多标签输入框(Multi-Tag Input Box)是一种允许用户输入多个标签(tags)的输入控件。每个标签通常代表一个关键词或分类,用户可以通过输入逗号、空格或其他分隔符来添加多个标签。这种输入框在博客、社交媒体、商品分类等场景中非常常见。
以下是一个简单的jQuery多标签输入框的实现示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Multi-Tag Input Box</title>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<style>
.tag {
display: inline-block;
padding: 2px 5px;
margin: 2px;
background-color: #f0f0f0;
border-radius: 3px;
}
</style>
</head>
<body>
<input type="text" id="tag-input" placeholder="Enter tags...">
<div id="tags-container"></div>
<script>
$(document).ready(function() {
$('#tag-input').on('keydown', function(e) {
if (e.keyCode === 13 || e.keyCode === 32) { // Enter or Space key
e.preventDefault();
var tag = $(this).val().trim();
if (tag !== '') {
$('#tags-container').append('<span class="tag">' + tag + '</span>');
$(this).val('');
}
}
});
});
</script>
</body>
</html>
if (tag !== '' && !$('#tags-container').find('.tag:contains("' + tag + '")').length) {
$('#tags-container').append('<span class="tag">' + tag + '</span>');
$(this).val('');
}
var tags = $(this).val().trim().split(/[\s,]+/);
tags.forEach(function(tag) {
if (tag !== '') {
$('#tags-container').append('<span class="tag">' + tag + '</span>');
}
});
$(this).val('');
if ($('#tags-container .tag').length < 10) { // 限制最多10个标签
$('#tags-container').append('<span class="tag">' + tag + '</span>');
$(this).val('');
}
通过以上方法,可以有效解决jQuery多标签输入框中常见的问题,并提升用户体验。
领取专属 10元无门槛券
手把手带您无忧上云