公司的省市县数据比较坑爹,是通过ehr系统那边生成ID来匹配,比如福建省 对应ID 01211014AOP145,城市也对应一个ID,然后区县就不管了。然后我就网上找了一堆资源 插件什么的感觉都不适用就决定自己写一个。因为自己也是半桶水的那种界面都不知道怎么弄,弄哪种格式,什么风格,配色啊。就默默的找了京东、亚马逊、淘宝、当当等他们关于省市区是怎么做的。图如下:
最后我结合一下做了如下图:
废话不多说上源码:
页面布局:
省市二级联动可扩展性 国内 国外
- 省份
- 城市
[html] view plain copy- 国外
- 福州福州
- 福州福州
- 福福州州
- 福州福州
- 福福州州
- 福建
- 安徽
- 福州
- 福州
- 福州
- 福建
- 安徽
- 福州
- 福州
- 福州
- 福建
- 安徽
- 福州
- 福州
- 福州
- 福建
- 安徽
- 福州
- 福州
- 福州
- 福建
- 安徽
- 福州
- 福州
- 福州
- 福建
- 安徽
- 福州
- 福州
- 福州
请先选择省份!
脚本:
逻辑就是要先选国内或者国外,三角形就是图片,不是h5 canvas画出来的,这种图片网上多的是。
1、我用input 类型button 作为图片容器,用img图片居然出不来(可能我水吧)。input有默认样式按钮点击外面有蓝色的边框,要去掉outline:none;不要像我一样写成out-line
2、感觉自己在写面向过程一样,按三角形加载全部信息,切换图片,再点图片就关闭成。里面有些逻辑就是自由扩展,不要国外的就把国外有关代码删掉,要扩展就添加类似 省 市。
3、动态加载数据就是 比如 省份 对应的div 类名为liDiv1,它的盒子结构
福州福州 福州福州 福福州州 福州福州 "; $('.liDiv3').html(''); //添加前先清空 $('.liDiv3').html(ss);动态数据 ss 可以通过ajax获取数据库数据 经过后台遍历拼接
var ss=
- 福建省
比如说以下是 .net 的写法(写的比较low不要介意)把他传到前端 ajax接收返回的值,直接append到$('.liDiv3').html(ss);就获取到动态数据
if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0) { strBuild.Append(""); //strBuild.AppendFormat("
"); } " + title3+ ""); foreach (DataRow dr in ds.Tables[0].Rows) { strBuild.Append(" "); strBuild.AppendFormat(" "); } strBuild.Append("{0} ", dr["name"].ToString()); strBuild.Append("获取数据,点击福建省 就可以写通用的click事件,后台拼接的onclick="getLi(this)"
在前端就写上
function getLi(obj){ var id=$(obj).attr("id"); var text=$(obj).text(); //可以通过省份id 写ajax去获取市的数据 }然后这样就获取到省份的 text id ,通过click事件可以获取到 城市的数据 同样加载 id和text。在拼接文本到 最上面的输入框就是最终结果 (这个还没写,很简单,懒癌发作了不想写了),对了上面的文本已经设置了只读readonly,说到只读 就要说到 readonly 和disabled 的区别了,readonly只对 输入框还有多文本输入框有效,而且文本样式不会更改。disabled 基本试用与所有元素,但是要注意的它的兼容性。上面的文本框设置了runat属性 是为了方便.net后台直接读取数据。
推荐阅读
如何解决《Laravel5:Apachephphttp认证》经验,为你挑选了0个好方法。 ... [详细] 如何解决《SQLServer-正确分解付款》经验,为你挑选了1个好方法。 ... [详细] 如何解决《SwiftPureMVC:不符合NSObjectProtocol》经验,为你挑选了1个好方法。 ... [详细] 如何解决《Sitecore“随机”对象引用未设置为对象的实例》经验,为你挑选了0个好方法。 ... [详细] 如何解决《滚动并获取具有对资源的特定访问权限的用户列表》经验,为你挑选了1个好方法。 ... [详细] 如何解决《错误C2355:'this':只能在非静态成员函数或非静态数据成员初始值设定项中引用》经验,为你挑选了1个好方法。 ... [详细] 如何解决《从inquirer.js菜单运行protractor.js测试》经验,为你挑选了0个好方法。 ... [详细] 如何解决《使用JAAS从webapp1登录webapp2》经验,为你挑选了0个好方法。 ... [详细] 如何解决《如何使用sorted()一次对两列进行排序》经验,为你挑选了1个好方法。 ... [详细] 如何解决《如何刷新(F5)并使用AngularJS获取另一个页面?》经验,为你挑选了0个好方法。 ... [详细] 如何解决《如何水平居中UICollectionView细胞?》经验,为你挑选了6个好方法。 ... [详细] 如何解决《如何组合2个SQL查询并检索累积计数?》经验,为你挑选了0个好方法。 ... [详细] 如何解决《两个线程如何"进入""同步"方法》经验,为你挑选了1个好方法。 ... [详细] 如何解决《为什么scalaz.NonEmptyList不支持像"find"这样的常见列表操作》经验,为你挑选了1个好方法。 ... [详细] 如何解决《零检查后发现无》经验,为你挑选了1个好方法。 ... [详细] 如何解决《如何在将鼠标悬停在父级上时设置子级元素的样式》经验,为你挑选了1个好方法。 ... [详细] 如何解决《同时使用ActiveMQ和RabbitMQ》经验,为你挑选了0个好方法。 ... [详细] 如何解决《为什么这两个字符串不相等?》经验,为你挑选了1个好方法。 ... [详细] 如何解决《无法在c++中将集合的元素插入向量》经验,为你挑选了1个好方法。 ... [详细] 如何解决《如何使用jQuery一次向许多不同的按钮添加确认对话框?》经验,为你挑选了0个好方法。 ... [详细]吐了个 "CAO" !Tags | 热门标签RankList | 热门文章
- 1发布Outlook日历.同步频率的服务器端设置是什么?
- 2如何将Maven配置文件值注入属性文件
- 3在iOS中旋转时,inputAccessoryView的UIToolbar变黑
- 4在WordPress中编译的PHP 7缺少mysql扩展
- 5非final类中的方法必须返回`Self`以符合协议
- 6使用参数正确保护SQL语句
- 7R Markdown:引文解析
- 8如何使Spring Security OAuth2真正无状态/摆脱"状态"参数?
- 9使用ng-model angularjs时未显示的表单值
- 10在动态JSON中序列化空值和空字符串
- 11配置Angular UI按钮
- 12获取ESC-上最后一个命令的最后一个参数.ZSH Vim模式
- 13为什么Tomcat会将HEAD和GET请求的不同标头返回给我的RESTful API?
- 14在c ++中初始化字符串的方法
- 15具有EntityType字段的Symfony 2.7 choice_attr
- 16Yocto使用.bbappend文件来覆盖initramfs的默认init脚本的编写
- 17CMake缓存变量与全局属性:使用变量值的简单语法
- 18编辑Eclipse Javadoc $ {tags}变量
- 19Meteor CollectionFS - 在服务器上上传图像
- 20ServiceWorker注册失败:DOMException:仅允许安全源(请参阅:https://goo.gl/Y0ZkNV)
DevBox开发工具箱 | 专业的在线开发工具网站 京公网安备 11010802040832号 | 京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有