实现select下拉带模糊搜索

1 篇文章 0 订阅
1 篇文章 0 订阅

整体效果图
在这里插入图片描述
模糊搜索效果图
在这里插入图片描述


```html
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>带模糊查询的select下拉框</title>
    <link rel="stylesheet" href="css/combo.select.css">
    <script type="text/javascript" src="https://www.jq22.com/js/jquery.min.js"></script>
    <script type="text/javascript" src="js/jquery.combo.select.js"></script>
    <script type="text/javascript">
        $(function() {// 初始化内容
            $("#select").comboSelect();
        }); 
    </script>
</head>

<body>
    <select id="select">
        <option value="0">请选择</option>
        <option value="9">丘比特</option>
        <option value="12">香车美女</option>
        <option value="16">钻戒</option>
        <option value="23">幸福摩天轮</option>
        <option value="35">蓝色妖姬</option>
        <option value="52">强吻</option>
        <option value="67">扔鸡蛋</option>
        <option value="135">烛光晚餐</option>
        <option value="137">蜜桃</option>
        <option value="138">爱情烟花</option>
        <option value="139">蜜粽金币</option>
        <option value="140">香蕉</option>
        <option value="143">药不能停</option>
        <option value="149">金话筒</option>
    </select>
</body>

</html>

``
demo下载地址: https://download.csdn.net/download/u013535022/13101850.

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实现模糊搜索下拉选择框,可以使用以下步骤: 1. 创建一个输入框和下拉选择框组件,并将它们放置在一起。 2. 给输入框绑定一个 "keyup" 事件,当用户输入时,触发模糊搜索功能。 3. 在 "keyup" 事件处理程序中,获取输入框的值,并将其与下拉选择框中的所有选项进行比较。 4. 如果选项中包含输入框的值,则将该选项添加到一个新的数组中。 5. 将新数组中的选项更新到下拉选择框中,以显示符合条件的选项。 6. 当用户从下拉选择框中选择一个选项时,将所选的值更新到输入框中。 7. 最后,当用户清空输入框时,将下拉选择框中的所有选项显示出来。 具体实现过程可以参考以下代码: ```html <!-- 输入框和下拉选择框组件 --> <template> <div> <input type="text" v-model="searchText" @keyup="searchOptions" /> <select v-model="selectedOption"> <option v-for="(option, index) in filteredOptions" :key="index" :value="option">{{ option }}</option> </select> </div> </template> <script> export default { data() { return { options: ['apple', 'banana', 'orange', 'pear', 'peach'], // 所有选项 filteredOptions: [], // 模糊搜索后的选项 searchText: '', // 输入框的值 selectedOption: '', // 当前选择的选项 }; }, methods: { searchOptions() { // 获取输入框的值,并将其转为小写字母 const searchText = this.searchText.toLowerCase(); // 过滤符合条件的选项,并将它们添加到新数组中 this.filteredOptions = this.options.filter(option => option.toLowerCase().includes(searchText)); // 如果输入框中的值为空,则显示所有选项 if (!searchText) { this.filteredOptions = this.options; } }, }, }; </script> ``` 上述代码中,我们首先定义了一个包含所有选项的数组 `options`,以及一个空数组 `filteredOptions`。在 `searchOptions` 方法中,我们获取输入框的值,并将其转为小写字母,然后通过 `filter` 方法过滤符合条件的选项,并将它们添加到 `filteredOptions` 数组中。最后,我们在模板中使用 `v-for` 指令将 `filteredOptions` 数组中的选项渲染到下拉选择框中。同时,我们也将 `selectedOption` 属性绑定到下拉选择框上,以便在用户选择一个选项时,将其值更新到输入框中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值