微信企业号两种常用搜索加载方式

Posted 飞杨930112

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了微信企业号两种常用搜索加载方式相关的知识,希望对你有一定的参考价值。

微信企业端两种常用搜索方式

一:在搜索框中进行加载搜索结果

1.html部分代码和js部分代码

    <div class="page__bd" style="height: 100%;">
        <div class="weui-search-bar" id="searchBar">
            <form class="weui-search-bar__form">
                <div class="weui-search-bar__box">
                    <i class="weui-icon-search"></i> <input type="search"
                        class="weui-search-bar__input" id="searchInput" placeholder="搜索"
                        required=""> <a href="javascript:" class="weui-icon-clear"
                        id="searchClear"></a>
                </div>
                <label class="weui-search-bar__label" id="searchText"
                    style="transform-origin: 0px 0px 0px; opacity: 1; transform: scale(1, 1);">
                    <i class="weui-icon-search"></i> <span>搜索</span>
                </label>
            </form>
            <a href="javascript:" class="weui-search-bar__cancel-btn"
                id="searchCancel">取消</a>
        </div>
        <div class="weui-cells searchbar-result" id="searchResult"
            style="transform-origin: 0px 0px 0px; opacity: 1; transform: scale(1, 1); display: none;">
        </div>
    </div>
var $searchBar = $(\'#searchBar\'), $searchResult = $(\'#searchResult\'), $searchText = $(\'#searchText\'), $searchInput = $(\'#searchInput\'), $searchClear = $(\'#searchClear\'), $searchCancel = $(\'#searchCancel\');

$(function() {
    initDialog();
    hideSearchResult();
    initEvent();
});

function hideSearchResult() {
    $searchResult.hide();
    $searchInput.val(\'\');
}
function cancelSearch() {
    hideSearchResult();
    $searchBar.removeClass(\'weui-search-bar_focusing\');
    $searchText.show();
}

function initEvent() {
    $searchText.on(\'click\', function() {
        $searchBar.addClass(\'weui-search-bar_focusing\');
        $searchInput.focus();
    });
    $searchInput.on(\'blur\', function() {
        if (!this.value.length)
            cancelSearch();
    }).on(\'input\', function() {
        if (this.value.length) {
            getSearchResultHtml();
            $searchResult.show();
        } else {
            $searchResult.hide();
        }
    });
    $searchClear.on(\'click\', function() {
        hideSearchResult();
        $searchInput.focus();
    });
    $searchCancel.on(\'click\', function() {
        cancelSearch();
        $searchInput.blur();
    });
}

function initSearchResultData() {
    var name = \'\';
   //staffList乃后台传递的标准ArrayList数据 $.each(staffList,
function(index, staff) { key = staff.name; if (searchMap.exists(key)) { var staffArr = searchMap.get(key); var len = staffArr.length; staffArr[len] = staff; searchMap[key] = staffArr; } else { var staffArr = []; staffArr[0] = staff; searchMap.put(key, staffArr); } }); } function getSearchResultHtml() { var searchInputText = $searchInput.val(); var html = \'\'; $searchResult.html(html); searchMap.each(function(key, value, map){ var staffs = searchMap.data[key]; for (var i=0; i<staffs.length; i++) { var name = staffs[i].name; if (!isEmpty(name) && name.indexOf(searchInputText) != -1) { html += \'<div class="weui-cell weui-cell_access">\' + \'<div class="weui-cell__bd weui-cell_primary">\' + \'<p>\' + name + \'</p></div></div>\'; } } }); $searchResult.html(html); }

2.效果图片

二、即时显示初始化页面展示搜索结果

1.html部分相同,js部分修改

var staffList = [];
var staffMap = new Map(); // key:staffId, value:staff
var searchMap = new Map(); // key:姓名当中的某个字符串, value:staff

var $searchBar = $(\'#searchBar\'), $searchResult = $(\'#searchResult\'), $searchText = $(\'#searchText\'), $searchInput = $(\'#searchInput\'), $searchClear = $(\'#searchClear\'), $searchCancel = $(\'#searchCancel\');

$(function() {
    initDialog();
    hideSearchResult();
    initEvent();
});

function hideSearchResult() {
    $searchResult.hide();
    $searchInput.val(\'\');
}
function cancelSearch() {
    hideSearchResult();
    $searchBar.removeClass(\'weui-search-bar_focusing\');
    $searchText.show();
   //取消时重新初始化页面 initStaffs(staffList); }
function initEvent() { $searchText.on(\'click\', function() { $searchBar.addClass(\'weui-search-bar_focusing\'); $searchInput.focus(); }); $searchInput.on(\'blur\', function() { if (!this.value.length) cancelSearch(); }).on(\'input\', function() { if (this.value.length) { getSearchResultHtml(); } else { cancelSearch(); } }); $searchClear.on(\'click\', function() { hideSearchResult(); $searchInput.focus(); }); $searchCancel.on(\'click\', function() { cancelSearch(); $searchInput.blur(); }); } function initSearchResultData() { var name = \'\'; $.each(staffList, function(index, staff) { key = staff.name; if (searchMap.exists(key)) { var staffArr = searchMap.get(key); var len = staffArr.length; staffArr[len] = staff; searchMap[key] = staffArr; } else { var staffArr = []; staffArr[0] = staff; searchMap.put(key, staffArr); } }); } function getSearchResultHtml() { var searchInputText = $searchInput.val(); var theStaffs = []; searchMap.each(function(key, value, map){ var staffs = searchMap.data[key]; for (var i=0; i<staffs.length; i++) { var name = staffs[i].name; if (!isEmpty(name) && name.indexOf(searchInputText) != -1) { var len = theStaffs.length; if (theStaffs.length > 0) { theStaffs[len] = staffs[i]; } else { theStaffs[0] = staffs[i]; } } } }); initStaffs(theStaffs); }

 

以上是关于微信企业号两种常用搜索加载方式的主要内容,如果未能解决你的问题,请参考以下文章

企业微信怎么认证?

最全最详细publiccms常用的代码片段

分享前端开发常用代码片段

企业微信小程序开发流程数理

最全最详细publiccms其他常用代码片段(内容站点)

收藏|分享前端开发常用代码片段