通过mui框架和原生js实现html或web app中下拉框搜索功能,并获取自定义选中的值(使用apicloud中ajax调接口获取数据)

本文介绍了如何结合mui框架和原生JavaScript实现HTML或Web App中的下拉框搜索功能,并通过Apicloud的Ajax接口获取数据。详细步骤包括效果预览、HTML结构、JavaScript逻辑和完整代码展示。
摘要由CSDN通过智能技术生成

1.效果预览

默认状态

 获取全部

 

 搜索

 

 2.html部分

<div class="select">
        <div class="mui-input-row mui-search">
            <input id="selectValue" type="search" class="mui-input-clear" placeholder="请输入人员名称" />
        </div>
        <div class="selectItem" id="item-box">
        </div>
        <div onclick="selectfun()"><img src="../../icon/screen.png" alt="" /><span>筛选</span></div>
    </div>

3.js部分

    var userid = ""
        var itemBox
        var personData = []
        apiready = function () {
            All()
            var select = $api.dom('#selectValue')
            $api.addEvt(select, 'keypress', function (e) {
                var keycode = e.keyCode;
                if (keycode == '13') {
                    e.preventDefault();
                    //请求搜索接口   
                    var value = $api.byId('selectValue').value
                    selectfun() //点击搜索回车时处理函数
                }
            });
            document.getElementById("selectValue").addEventListener('focus', function (e) {
                var selectItem = $api.byId('item-box')
                $api.css(selectItem, 'display:block')
            });
            var item = $api.domAll('.item');
            mui("#item-box").on('click', '.item', function () {
                var userid = this.getAttribute('data-value')
                //获取到所点击的值之后的处理
                var selectItem = $api.byId('item-box')
                $api.css(selectItem, 'display:none')
            })
        };
        function createList(datas) {
            var html = ''
            for (var i = 0; i < datas.length; i++) {
                html += `<div class='item' data-value=` + datas[i].userId + `>` + datas[i].userName + `</div>`
            }
            $api.html(itemBox, html)
        }
        function likeData(value) {
            var datas = personData;
            itemBox = document.getElementById("item-box");
            createList(datas);
            document.getElementById("selectValue").addEventListener('input', function (e) {
                var val = e.target.value;
                v
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值