简单的文本框输入自动提示

简单的文本框输入自动提示--输入的时候可以直接异步加载数据库中匹配的项,然后显示出来。

这里没有使用到数据库,直接在PHP用数组模拟数据存储。

 demo演示

原理主要是:

监听输入框的状态,当有改变的时候即刻通过ajax发送数据并取得返回值。

主要使用了jQuery封装很方便,但貌似我这个兼容性不咋地...主要提供个思路吧~

js部分:

<script type="text/javascript" src="./js/jquery.min.js"></script>
<script type="text/javascript">
$(function(){
    $(":button").click(function() {
        /* Act on the event */
        if($(":input").val() != ""){
            alert("your name is " + $(":input").val());
        }
    });
    $(":input").bind("keyup",function(){
        $(".info").empty();
        if($(this).val() == "")  return;
    //    alert($("#name").val());
        $.ajax({
            type: ‘get‘,
            url:    ‘Automatic_prompt_info.php‘,
            data: {name: $("#name").val()},
            success: function(data){
            //    alert(data);
                        var array = new Array();
                array = data.split(",");
                $(".info").append($("<ul></ul>"));
                for(var i=0;i<array.length-1;i++){
                    $(".info ul").append($("<li>"+array[i]+"</li>"));
                }

                $(".info ul").on("click",function(event){    //事件委托
                    $("#name").val($(event.target).text());
                    $(".info").empty();
                })
            }
        });
    });

});
</script>

顺便把html部分带上,免得不知哪个是哪个

    <style type="text/css">
    html,body,div,form,input,legend,label,button,ul,li{margin: 0;padding: 0;}
    form,fieldset{border: 0;}
    .wrap{position:relative;margin: 100px auto; width: 700px; height: 400px;overflow: hidden;}
    input{width: 300px; height: 36px; border: 3px solid green;border-radius: 3px;font-weight: bold;}
    button{width: 120px; height: 42px; border: 0;padding: 8px;margin-left:-10px;background-color: green;font-weight: bold;font-size:16px;color: white;cursor: pointer;border-radius: 30px;}
    .info{position: relative;top: -10px;left: 14px;width: 305px;}
    ul{list-style: none;}
    li{padding: 3px 10px; border-bottom: 1px dotted #333;background-color: #ddd; }
    li:hover{cursor: pointer;background-color: green;}
    </style>
</head>

<body>

    <div class="wrap">
    <h3>文本框文本自动提示(如输入fish  jack )</h3>
        <form name="form" method="get" action="">
            <fieldset>
            <label for="search"></label>
            <input type="text" name="name" id="name" placeholder="Input your name">
            <button type="button" id="button">search</button>
            </fieldset>
        </form>
        <div class="info">

        </div>

    </div>

php数据部分:

使用简单的正则匹配即可。

<?php
$names = array(‘adan‘,‘acos‘,‘acoss‘,‘apple‘,‘fish‘,‘fisher‘,‘fishers‘,‘jack‘,‘july‘,‘boy‘,‘boyee‘,‘girl‘,‘json‘);  // names
$name = $_GET[‘name‘];  // name from input label
$str = "";
$counts = count($names);
for($i = 0;$i<$counts;$i++){
    if(preg_match("/^$name/", $names[$i])){    //find
        $str .= $names[$i];
        if($i != $counts - 1)
            $str .= ",";
    }
}

//$data = array("A"=>$str)
//echo json_encode($data);     // send back info
echo $str;
?>
时间: 2024-10-12 17:41:55

简单的文本框输入自动提示的相关文章

29.Android之文本框输入自动提示学习

我们在用百度.淘宝等之类搜索输入一些字符时,会自动弹出一个下拉框提示类似的结果.在Android中提供了两种智能输入框,它们是AutoCompleteTextView.MultiAutoCompleteTextView,今天来学习下. AutoCompleteTextView.MultiAutoCompleteTextView二者区别是前者选择一个,后者可以选择多个. 直接上代码,首先改下xml文件: 1 <?xml version="1.0" encoding="ut

实现文本框输入内容提示代码实例

实现文本框输入内容提示代码实例:比较人性化的网站一般都是比较讲究细节的,比如文本框输入内容具有提示效果,在默认情况下,文本框有提示文本,当鼠标放入文本框输入文本的时候,提示文本会消失,下面就通过代码实例介绍一下如何实现此效果.代码如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="author" content="ht

314 Ajax案例:邮箱地址验证,搜索框输入自动提示,省市区三级联动

Aja案例接口文档 测试地址:http://localhost:3000 请求参数类型:application/x-www-form-urlencoded 邮箱地址验证 简要描述 验证邮箱@itcast.cn地址是否唯一,已注册 [[email protected]符合规则,未注册itheima] 请求地址 /verifyEmailAdress 请求方式 GET 参数 参数名 必选 类型 说明 email 是 string 待验证邮箱地址 返回值 {message: '邮箱地址已经注册过了, 请

制作一个简单的文本框输入的网页

题目:制作一个简单的网页(包含一个文本框.一个按钮),在页面上输出用户在文本框输入的内容,要求用JavaScript获取文本框内容. 一.首先利用html在网页上制作表单,代码如下: **onclick事件:onclick 事件会在对象被点击时发生. 二.利用js获取输入信息,并将其输出: 相关知识: 1.给用户确认消息,真正实现交互,使用语句confirm();给用户提示信息,实现单向通信,使用语句alert(). 三.运行结果: 1.用浏览器打开结果如下: 2.输入文本框内容,点击[提交]:

去掉文本框的自动提示

最近写个模糊查询的自动提示的功能,可是VS自带的文本框能记住以前填写过的东西,很是烦人,最后找到解决办法 html控件 : 将input元素的autocomplete属性设置为off可以关闭自动提示 <input type="text" name="name" autocomplete="off"> 如果所有表单元素都不想使用自动提示功能,只需在表单form上设置autocomplete=off.<form autocomple

文本框输入关键字提示

<input type="text" class="guanjianzi" placeholder="请输入关键字" />

文本框输入提示/自动完成功能

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>文本框输入提示/自动完成功能</ti

jQuery实现TEXT文本框输入时的提示信息(谷歌百度淘宝搜索框提示实现)

在搜索框中,输入之前框内有输入的提示信息,文本框获得焦点后会自动消失的效果,效果图如下: 鼠标放在文本框时的效果: 创建工具类(已经存在就不用创建了)Util.js(DWR的JS) 在里面添加如下方法: Js代码 /** * Input框里的灰色提示,使用前先引入jquery * <br>使用方法:<input type="text" tipMsg="您的用户名"   /> * * @return */ function inputTipTe

文本框输入内容智能提示效果

实现效果如图 大体思路: 1.监听文本框事件.这里是用的keyup事件.大家可以尝试用onchange事件.不过感觉keyup事件的效果要好一点. 2.根据输入内容通过ajax异步的方式去访问后台数据. 3.遍历返回数据将数据添加到显示区域. 4.在添加数据的同时给每一条数据加上一些效果,点击其中一条将数据填到文本框,并且提示内容消失. 5.后台数据应该拼接成json格式.我这里的格式是这样的[{"name":"张三","sex","男