12306城市选择框

点击查看效果

1、页面结构:

 <div style="width: 26%;margin:100px auto;">
        城市拼音:<input type="text" id="txt_value" /><br/> <br/>
        <div class="yxcdv1" style="width: 100%;">
            <div class="ac_title">
                <span>拼音支持首字母输入</span> <a class="ac_close" style="cursor: pointer" title="关闭" id="yxcclose">
                </a>
            </div>
            <ul class="AbcSearch clx" id="abc">
                <li index="1" id="nav_list1" class="action">A-E</li>
                <li index="2" id="nav_list2" class="">F-J</li>
                <li index="3" id="nav_list3" class="">K-O</li>
                <li index="4" id="nav_list4" class="">P-T</li>
                <li index="5" id="nav_list5" class="">U-Z</li>
            </ul>
            <ul class="popcitylist" style="overflow: scroll; max-height: 300px; height: 300px;
                display: block;" id="ul_list1">
                <li class="ac_even itemLi" title="北京" data="beijing" category="1" >北京</li>
                <li class="ac_even itemLi" title="重庆" data="chongqing" category="1">重庆</li>
            </ul>
            <ul class="popcitylist" style="overflow: scroll; max-height: 300px; height: 300px;
                display: none;" id="ul_list2">
                <li class="ac_even itemLi" title="广州" data="guangzhou" category="2">广州</li>
                <li class="ac_even itemLi" title="广西" data="guangxi" category="2">广西</li>
            </ul>
            <ul class="popcitylist" style="overflow: scroll; max-height: 300px; height: 300px;
                display: none;" id="ul_list3">
            </ul>
            <ul class="popcitylist" style="overflow: scroll; max-height: 300px; height: 300px;
                display: none;" id="ul_list4">
            </ul>
            <ul class="popcitylist" style="overflow: scroll; max-height: 300px; height: 300px;
                display: none;" id="ul_list5">
            </ul>
            <ul class="popcitylist" style="max-height: 300px; height: 300px; display: none; text-align: center;
                line-height: 300px;" id="ul_list0">
                没有匹配的城市
            </ul>
        </div>
    </div>

2、JS

  <script type="text/javascript">
        $(function () {
            $(".itemLi").click(function () {
                var showTxt = $.trim($(this).text());
                $("#txt_value").val(showTxt);
            });
            $("#abc li").click(function () {
                var categoryIndex = $(this).attr("index");
                showLi(categoryIndex);
            });
            var cityList = [];

            (function () {
                $(".itemLi").each(function () {
                    var citypinyin = $(this).attr("data") + "-" + $(this).attr("category");
                    cityList.push(citypinyin);
                });
            })();

            $("#txt_value").keyup(function () {
                var v = $.trim($(this).val()).toLocaleLowerCase();
                toChange(v);
            });

            function toChange(searchTxt) {
                var cityPinYin = "";
                var categoryIndex = 0;

                if (searchTxt) {
                    $(".itemLi").css("color", "");
                    for (var index in cityList) {
                        var cityPY = cityList[index];
                        // document.title = cityPY.indexOf(searchTxt);
                        if (cityPY.indexOf(searchTxt) == 0) {
                            cityPinYin = cityPY.split(‘-‘)[0];
                            categoryIndex = cityPY.split(‘-‘)[1];
                            $(".itemLi").each(function () {
                                if ($(this).attr("data") == cityPinYin) {
                                    $(this).css("color", "red");
                                }
                            });
                        }

                    }
                }
                else { categoryIndex = 1; }
                showLi(categoryIndex);
            }

            function showLi(categoryIndex) {
                $(".popcitylist").hide();
                if (categoryIndex == 0) {

                    $("#ul_list0").show();
                }
                else {
                    $("#abc li").removeClass("action");
                    $("#nav_list" + categoryIndex).addClass("action");
                    $("#ul_list" + categoryIndex).show();

                }
            }

        })
    </script>
时间: 2024-10-08 20:04:25

12306城市选择框的相关文章

类似于铁道部12306的城市选择框的实现

第一次写,有点小紧张... 这两天研究铁道部的余票查询系统,参考网上大牛们的经典案例,也有了一些自己的心得,写在自己程序猿的道路上记录一下,也和大家一起分享,写的不好莫怪,大牛可以自动过滤,非喜勿喷,谢谢~ 今天先简单的介绍一下城市选择框的实现,与12306官网有一点差距,上图,先看看效果:      如图所示,支持拼音首字母查询,全拼音查询,汉字查询等 好了,现在谈一谈我是怎么实现的 首先是准备工作: 我们需要把城市的信息存入我们的数据库中,城市数据来源:https://kyfw.12306.

城市选择之搜索框

新项目要做城市选择,效果图出来,用系统的搜索框达不到效果图的效果,设置searchBarStyle属性时,UISearchBarStyleDefault时设置barTintColor后边框会有黑线,设置UISearchBarStyleMinimal时无黑线单文本框颜色不符合要求.所以就自定义了下.先看下效果图 上面两个效果图的区别就是下面的图有个城市和图片.所以就封装到一个类中.只是TextField的LeftView变化.还有个问题就是城市名长短不一,设置城市的时候要进行重绘,所以我在set城

安卓组件------列表选择框

安卓提供的列表选择框(Spinner)相当于web端用户注册时的选择下拉框,比如注册候选择省份城市等.如下图便是一个列表选择框 下拉列表的列表选择项能够通过xml文件的android:entries属性指定,或是在java代码中导入,属性android:prompt是列表项的标题. 一    列表项数据:       实际运用当中,很多下拉列表项的数据实际是可知的,可以放在xml资源文件中.这时,开发者可以通过xml属性进行指定数据. 除了资源文件之外,开发者还能够使用适配器适配数据源.(适配器

基于jquery的城市选择插件

城市选择插件的难度不是很大,主要是对dom节点的操作.而我写的这个插件相对功能比较简答,没有加入省市联动. 上代码好了,参照代码的注释应该比较好理解. 1 /* 2 *基于jquery的城市选择插件 3 *author:youziclub 4 *2015-4-22 5 */ 6 ;(function($){ 7 $.fn.city=function(options){ 8 // 城市信息 9 var nav=['热门','A-G','H-L','M-T','W-Z','其他']; 10 var

基于jQuery美化联动下拉选择框

今天给大家介绍一款基于jQuery美化联动下拉选择框.这款下下拉选择框js里自带了全国所有城市的数数库.下拉选择框适用浏览器:IE8.360.FireFox.Chrome.Safari.Opera.傲游.搜狗.世界之窗.效果图如下: 在线预览   源码下载 实现的代码. html代码: <div id="container"> <div class="inner"> <section id="main_content"

android wheelview实现三级城市选择

很早之前看淘宝就有了ios那种的城市选择控件,当时也看到网友有分享,不过那个写的很烂,后来(大概是去年吧),我们公司有这么一个项目,当时用的还是网上比较流行的那个黑框的那个,感觉特别的丑,然后我在那个开源的wheelview的基础上做封装,用户只需要专心数据的组装即可,然后填充就行,其他的可以不必考虑. 先上下效果图 接下来说下我的思路:网络请求-数据返回-设置数据-数据填充控件 接下来直接按上面的流程直接上代码: 网络请求我用的本地的json数据 String address = Utils.

jquery下拉城市选择代码

非常好的下拉城市选择代码,可选择热门城市,按字母排序的城市选择,带搜索框样式. <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <title>jQuery下拉框美化特效-素材吧</title> <meta http-equiv="X-UA-Compatible" content=&quo

十三 .Flask wtforms组件和选择框动态数据实时更新

一 . wtforms组件     选择框动态数据实时更新 https://www.cnblogs.com/lovershowtime/p/11384494.html 1.wtforms组件使用(登录) 1. 用户登录 当用户登录时候,需要对用户提交的用户名和密码进行多种格式校验.如: 用户不能为空:用户长度必须大于6: 密码不能为空:密码长度必须大于12:密码必须包含 字母.数字.特殊字符等(自定义正则): login.html <!DOCTYPE html> <html lang=&

微信开发 select选择框

最近在该企业微信的功能,要做一个微信界面,要使用select来做下拉选择框 部分前台HTML代码: 在选择分享组的时候,要从后台查询数据来做选择项 1 <form:form id="imgForm" modelAttribute="uploadImg" action="${oauthPath}/img/${agentKey}/submit" method="post"> 2 <input id="i