• 使用ajax实现搜索功能


     

    最近要做一个搜索功能,网上搜了一圈,终于做出来了,很简单的一个,这里分享我的方法,希望对大家有用,不足之处还请指教。

    这里使用ajax提交数据,配合jquery将数据显示出来。

    用jq的keyup触发搜索功能。

    1、html部分:

    <input type="text">
    <div class="search_show">
    <!--搜索出来的数据显示在这里-->
    </div> 

    2、js部分:

    //搜索功能,手指离开键盘时触发
    $("input").keyup(function(){
    search()
    });
    //搜索功能,提交ajax数据到后台
    function search(){
    var html =''
    var key = $("input").val()
    var datas = {'key': key};
    $.ajax({
    url: '{:U("Index/ajax_search")}',
    data: datas,
    type: 'POST',
    dataType: 'json',
    success: function (data) {
    if(data.code==1){
    $.each(data.data,function(no,items){
    //这一步是显示数据的关键,each方法可以遍历二维数组数据
    //data.dataphp返回的数据;
    //no:键值;
    //items:内层数组内容
    var url = "{:U('Index/question')}?user_id="+items.id+"
    //拼接数据
    html+= '<div ><div class="name_box">名字:'+items.name+
    ' </div><div class="phone">电话:'+items.mobile+
    '</div><div class="detail"><a href="'+url+'">' +
    '详情</a></div> </div>'
    });
    $('.search_show').html(html)//显示数据,同时覆盖上一次搜索的数据
    }
    },
    });
    }

    3、php(基于thinkphp)

    /** 模糊查询
     * @param: array  $search_data    搜索关键字
    */
    public function ajax_search()
    {
    $res['code'] = 0;
    $search_data = I('post.key');
    $conn = '';
    if (!empty($search_data)) {
    $key['name'] = array('like', '%' . $search_data . '%');
    $conn = M('users')->field('id,name, mobile,count')->where($key)->select();//查询数据
    }
    if ($conn) {
    $res['code'] = 1;
    $res['data'] = $conn;
    $res['msg'] = '成功';
    } else {
    $res['msg'] = '失败';
    }
    echo json_encode($res);
    } 

       欢迎留言讨论

    记录点滴,迭代精进,追求新生。Email: 942298768@qq.com
  • 相关阅读:
    iOS新手在引入第三方出现的几个小问题
    XMPP安装中遇到需要卸载openfire的步骤
    KVC
    SQLite错误码
    简单对象的本地化(以图片为例)
    使用MD5完成自定义Person对象的加密过程
    IOS--工作总结--post上传文件(以流的方式上传)
    IOS开发系列 --- 核心动画
    监听键盘 防止输入时覆盖掉textfiled
    比较选择的开始时间和结束时间的大小
  • 原文地址:https://www.cnblogs.com/chaoyong/p/7763947.html
Copyright © 2020-2023  润新知