jquery监听input然后下拉选择

最近维护一个老项目,需要监听input框搜索然后下拉选择,今天就分享一下

1.html代码:

<div class="td-search"><input type="text" id="searchInput">
                        <div id="searchResults"></div>
 </div>

2.css代码

<style>
    .td-search {
        position: relative;
    }
    .d-search {
        position: absolute;
        top: 49px;
        left:15px;
        background: white;
        border: 1px solid #000 !important;
    }
    .search-result {
        border-bottom: 1px solid #e3e3e3 !important;
        padding: 10px ;
        cursor: pointer;
    }
</style>

3.js部分

$(function () {
 $("#searchResults").hide();
        $('#searchInput').on('input', function () {
            var searchValue = $(this).val();
            if (searchValue.length >= 1) {
                $.ajax({
                    url: '/search', 
                    method: 'POST', 
                    data: { key: searchValue, sessionToken: sessionToken },
                    success: function (response) {
                        // 清空之前的搜索结果
                        $('#searchResults').empty();
                        $("#searchResults").show();
                        // 生成新的搜索结果
                        $.each(response.data, function (index, result) {
                            let item = `<div  class="search-result" 
           data-id='${result.userId}'>${result.name}-${result.mobile}</div>`;
                            $('#searchResults').append(item);
                        });
                    },
                    error: function (error) {
                        console.log(error);
                    }
                });
            } else {
                $('#searchResults').html(''); 
            }
        });

        $(document).on('click', '.search-result', function () {
            var resultValue = $(this).text();
            let bindUserId=$(this).data("id");
            $('#searchInput').val(resultValue);
            $('#searchResults').html('');
            $("#searchResults").hide();
        });


});

这段代码中,使用jQuery的on方法来绑定input事件监听器。在监听器中,我们获取用户输入的值,并向服务器发送一个Ajax请求。在响应成功的回调函数中,我们使用empty方法清空之前的搜索结果,然后使用each方法遍历服务器返回的结果数组,生成新的搜索结果。在响应错误的回调函数中,我们输出错误信息。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
以下是一个简单的示例,演示如何使用jQuery监听输入框并下选择: HTML代码: ``` <input id="my-input" type="text" /> <select id="my-select"> <option value="option-1">选项1</option> <option value="option-2">选项2</option> <option value="option-3">选项3</option> </select> ``` jQuery代码: ``` $(document).ready(function() { // 监听输入框的键盘输入事件 $('#my-input').on('keyup', function() { var inputVal = $(this).val(); // 获取输入框的值 if (inputVal.length > 0) { $('#my-select').show(); // 显示下列表 } else { $('#my-select').hide(); // 隐藏下列表 } }); // 监听列表的选择事件 $('#my-select').on('change', function() { var selectedVal = $(this).val(); // 获取选中的值 $('#my-input').val(selectedVal); // 将选中的值填入输入框 $(this).hide(); // 隐藏下列表 }); }); ``` 解释: 1. 首先,在输入框和下列表中分别添加了ID,以便使用jQuery选择器进行操作。 2. 在文档准备就绪后,使用`on()`函数为输入框绑定了一个键盘输入事件。 3. 在事件处理函数中,使用`val()`函数获取了输入框的值,并根据其长度来判断是否显示下列表。 4. 同样使用`on()`函数为下列表绑定了一个选择事件。 5. 在事件处理函数中,使用`val()`函数获取了选中的值,并将其填入输入框中。 6. 最后,使用`hide()`函数隐藏了下列表。 注意事项: 1. 如果下列表是通过Ajax加载的,则需要在选择事件处理函数中添加获取数据的代码。 2. 在显示和隐藏下列表时,建议使用CSS中的`display`属性而不是jQuery的`show()`和`hide()`函数,以避免样式闪烁问题。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

瞬间的未来式

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值