js搜索框输入提示(高效-ys8)
<style type="text/css">
.inputbox .seleDiv {
    border: 1px solid #CCCCCC;
    display: none;
    left:;
    position: absolute;
    top: 30px;
    width: 220px;
    z-index:;
}
.inputbox {
    float: right;
    height: 30px;
    line-height: 30px;
    position: relative;
}
.inputbox .seleDiv ul {
    background: none repeat scroll 0 0 #FFF6CB;
}
.inputbox .seleDiv ul li {
    border-top: 1px solid #FFFFFF;
    color: #000000;
    cursor: pointer;
    height: 25px;
    line-height: 25px;
    padding-left: 2px;
    text-align: left;
}
</style>
<div class="inputbox">
    <input type="text" id="txtKey" style="opacity: 0.5;">
    <span style="color: Red">在这里可以快速搜索哦</span>
    <div class="seleDiv" style="display: none;"><ul><li point="12571893.06640625,3256542.96875" title="您是不是在长沙高新区附近" style="color: rgb(0, 0, 0);">长沙高新区</li></ul></div>
</div>
$(".seleDiv li").live('mousemove', function () {
    $(this).css({ "background": "#F0850F", "color": "#FFF" })
})
$(".seleDiv li").live('mouseout', function () {
    $(this).css({ "background": "", "color": "#000" })
})
$(".seleDiv li").live('click', function () {
    $("#txtKey").val($(this).text());
    $(".seleDiv").slideUp();
    var point = $(this).attr("point").split(",");
    map.setCenter(new sogou.maps.Point(point[0], point[1]), 16);
    //----------------------- 重复代码需要重构 赶项目暂时这样用着
    var infowindow = new sogou.maps.InfoWindow();
    //获取点击位置的坐标
    var conrXY = new sogou.maps.Point(point[0], point[1]);
    //500 米内的
    //  var bounds = convertor.bounds(event.point, 250);
    //绘制圆形
    //删除之前
    if (cityCircle) {
        cityCircle.setMap(null);
    }
    var populationOptions = {
        strokeColor: "#FF0000",
        strokeOpacity: 0.8,
        strokeWeight: 2,
        fillColor: "#FF0000",
        fillOpacity: 0.35,
        map: map,
        center: conrXY,
        radius: 250
    };
    cityCircle = new sogou.maps.Circle(populationOptions);
    //获取地区
    GodsPoint = conrXY.toString();
    //老方法
    var addsLis = getmapList(conrXY);
    //新方饭
    /// var addsLis = getmapList(bounds);
    if (addsLis == "-1")
        return;
    infowindow.setPosition(conrXY);
    infowindow.setContent(addsLis);
    infowindow.setTitle("您是不是在:");
    setTimeout(function () { infowindow.open(map) }, 10);
})
$(".boxDiv").blur(function () {
    $(".seleDiv").slideUp();
})
$(".boxDiv").toggle(function () {
    $(".seleDiv").slideDown()
},
function () {
    $(".seleDiv").slideUp()
})
var n = -1;
$("#txtKey").click(function () {
    n = -1;
    if ($(this).val() == "这里可以模糊搜索,比如:软件园") {
        $(this).val("");
    }
});
$("#txtKey").keyup(function () {
    var theEvent = window.event || arguments.callee.caller.arguments[0]
    var liSize = $(".seleDiv li").size();
    var Code = theEvent.keyCode;
    if (Code == "38" || Code == "40" || Code == "13") {
        if (Code == "13") {
            //按回车选定,并加载选择项绑定的坐标
            $("#txtKey").val($(".seleDiv li").eq(n).text());
            var point = $(".seleDiv li").eq(n).attr("point").split(",");
            map.setCenter(new sogou.maps.Point(point[0], point[1]), 16);
            $(".seleDiv").hide();
        }
        else {//按键盘上下控制
            yongshan = yongshan || new yongshan(jQuery);
            n = yongshan.setInputEvent("txtKey", Code, liSize, n);
        }
    }
    else {//输入文字--加载提示
        if ($(this).val().length >= 2) {
            $(".seleDiv").slideDown();
            var keyName = $(this).val();
            var parms = "";
            parms += "keyName=" + encodeURIComponent(keyName);
            var url = "/asp/ShopsMaps/SearchAdds/getListByKey/" + parms + "?";
            var result = ajax(url);
            result = eval("(" + result + ")");
            var Outli = "";
            if (result.Rows.length == 0) {
                $(".seleDiv").html("<ul><li>没有相关数据</li></ul>");
            }
            else {
                for (var j = 0; j < result.Rows.length; j++) {
                    Outli += "<li title='您是不是在" + result.Rows[j][0] + "附近' point='" + result.Rows[j][1] + "'>" + result.Rows[j][0] + "</li>";
                }
                $(".seleDiv").html("");
                $(".seleDiv").html("<ul>" + Outli + "</ul>");
            }
        }
        else {//展开提示
            $(".seleDiv").slideUp();
        }
    }
})//keyup end
var yongshan = (function ($) {
    setInputEvent = function (inputID, Code, ListSize, n) {
        if (Code == 40) {
            if (n == ListSize - 1) {
                n = -1;
            }
            n = n + 1;
            $(".seleDiv li").css("background", "#FFF6CB").eq(n).css("background", "#F0850F");
        }
        if (Code == 38) {
            if (n == 0) {
                n = ListSize;
            }
            n = n - 1;
            $(".seleDiv li").css("background", "#FFF6CB").eq(n).css("background", "#F0850F");
        }
        return n;
    },
    getInputVal = function (box) {
        //增加,修改的时候遍历参数     
        //遍历参数
        var parList = "";
        jQuery("#" + box).find(":input").each(function (i) {
            if (jQuery(this).attr("type") != 'checkbox' && jQuery(this).attr("type") != 'radio' && jQuery(this).attr("name")) {
                parList = parList + ';' + jQuery(this).attr('name') + '=' + encodeURIComponent(jQuery(this).val());
            }
        }); //each end  encodeURIComponent
        jQuery("#" + box).find("input:checked").each(function () {
            parList += ";" + jQuery(this).attr('name') + '=' + encodeURIComponent(jQuery(this).val());
        })//each end
        return parList;
    }
    ClearInputVal = function (box) {
        var parList = "";
        jQuery("#" + box).find(":input").each(function (i) {
            $(this).val("");
        });
    }
    return {
        setInputEvent: setInputEvent,
        getInputVal: getInputVal,
        ClearInputVal: ClearInputVal
    }
} (jQuery));
var pubobj = {};
pubobj.j = 0;
pubobj.Brow = {
    ie: /msie/.test(window.navigator.userAgent.toLowerCase()),
    moz: /gecko/.test(window.navigator.userAgent.toLowerCase()),
    opera: /opera/.test(window.navigator.userAgent.toLowerCase()),
    safari: /safari/.test(window.navigator.userAgent.toLowerCase())
};
其它例:http://blog.csdn.net/shiyuezhong/article/details/8060159
js搜索框输入提示(高效-ys8)的更多相关文章
- vuejs自定义过滤器根据搜索框输入的值,筛选复杂的列表数据
		
如题所示,自定义过滤器根据搜索框输入的值,筛选复杂的列表数据.如图所示: html代码: <input type="text" placeholder="姓名/账号 ...
 - chosen.jquery.js 搜索框只能从头匹配的解决思路+方法
		
chosen.jquery.js 搜索框只能从头匹配的解决思路+方法 心急者请直接看下方 总结 ,由于本问题未能找到直接答案,所以只能通过修改源码解决.故将修改源码思路贴出来供大家参考,在遇到其他改源 ...
 - 分享一个仅0.7KB的jQuery文本框输入提示插件
		
由于项目需要,找过几个jQuery文本框输入提示插件来用,但总是有不满意的地方,要么体积较大,要么使用不便,要么会出现把提示文字作为文本框的值的情况.于是我们自己的开发团队制作了这个最精简易用的输入提 ...
 - ASP.NET JQuery 随笔-搜索框默认提示
		
一.文本框中创建默认文本提示 通常用户在搜索内容时,在文本框输入内容前,文本框都会给出默认提示,提示用户输入正确的内容进行搜索. 当文本框获得焦点,如果文本框内容跟提示内容一样,提示内容会自然消失. ...
 - Jquery实现文本框输入提示
		
一些用户体验好的表单都会在文本框里设置输入提示,文本框获取焦点时,提示内容消息,如果未输入,失去焦点时又会出现提示. 网上找到一个比较好用的控件jquery.inputDefault.js 使用方法: ...
 - Ternary Search Tree  应用--搜索框智能提示
		
前面介绍了Ternary Search Tree和它的实现,那么可以用Ternary Search Tree来实现搜索框的只能提示,因为Ternary Search Tree的前缀匹配效率是非常高的, ...
 - 转摘:ashx+jquery-autocomplete文本框输入提示功能Asp.net
		
引入所需文件 <script type="text/javascript" src="JS/jquery-1.8.2.min.js"></sc ...
 - Servlet+Ajax实现搜索框智能提示
		
简介:搜索框相信大家都不陌生,几乎每天都会在各类网站进行着搜索.有没有注意到,很多的搜索功能,当输入内容时,下面会出现提示.这类提示就叫做搜索框的智能提示,本门课程就为大家介绍如何使用Servlet和 ...
 - bootstrap-select搜索框输入中文
		
bootstrap-select 的搜索框无法输入中文,解决办法: 删除源码中这两行代码 that.$lis.not('.hidden, .divider, .dropdown-header').eq ...
 
随机推荐
- 在linux下安装tesseract-ocr
			
1. 在ubuntu下可以自动安装 [html] 技术分享技术分享 sudo apt-get install tesseract-ocr 2.编译安装 a.编译环境: gcc gc ...
 - vimium Keyboard Bindings
			
Modifier keys are specified as `<c-x>`, `<m-x>`, and `<a-x>` for ctrl+x, meta+x, a ...
 - oneM2M标准发展神速 实现万物联网的愿景
			
http://m2m.iot-online.com/news/2013102224849.html oneM2M则将负责解决独立于接取网路中通用的M2M服务层的关键需求:使其可更方便地嵌入于各种软硬体 ...
 - Mybatis的mapper文件中$和#的区别
			
一般来说,我们使用mybatis generator来生成mapper.xml文件时,会生成一些增删改查的文件,这些文件中需要传入一些参数,传参数的时候,我们会注意到,参数的大括号外面,有两种符号,一 ...
 - 转:遗传算法解决TSP问题
			
1.编码 这篇文章中遗传算法对TSP问题的解空间编码是十进制编码.如果有十个城市,编码可以如下: 0 1 2 3 4 5 6 7 8 9 这条编码代表着一条路径,先经过0,再经过1,依次下去. 2.选 ...
 - WinForm------GridControl右键添加动态菜单
			
转载:http://www.devexpresscn.com/Resources/Documentation-440.html 更加好用的方法: 1.添加一个GridControl控件,PopupMe ...
 - ListBox
			
<asp:ListBox runat="server" ID="txtName" Width ="200" Height=" ...
 - pulltorefresh滚动到底部
			
如果用ListView,让它滚动到顶部,一般是这样写的: if (!listView.isStackFromBottom()) { listView.setStackFromBottom(true); ...
 - python 内建函数setattr() getattr()
			
python 内建函数setattr() getattr() setattr(object,name,value): 作用:设置object的名称为name(type:string)的属性的属性值为v ...
 - thinkphp安装 版本  3.1.3
			
基础版: 只有thinkphp基础运行功能 完整版:基础运行能力,还有图片.上传等各种处理类(建议下载完整版) 重要的三个变量 define('APP_DEBUG',True); // 定义应用目录d ...