上次的搜索功能,有粉丝提到,能不能设置成可选的搜索条件。答案自然是可以的,所以我就又在上上周的基础上添加了下拉选

效果展示

这里我基于select标签和a标签的两种方式,实现了下拉项的功能。

知识串讲

1、基于select标签实现(最简单)

<select id="select_type" style="font-weight:700"><option>请选择搜索类型</option><option>网络IP</option><option>地址</option><option>责任人</option>
</select>

这种方式是比较常见的下拉项实现方式,在获取选择框内容是通过document.getElementById("select_type").value来实现。

然后将搜索类型type和内容content作为参数传给后台。这里我还是通过window.location.href来重定位到新界面。

<script>(function(){$('input[id="search"]').on('click', function(){var content = document.getElementById("search_content").value;var select_type = document.getElementById("select_type").value;var data = {"search_content":content};$.ajax({type: "get",url: "/",data: data,dataType: "json",success:window.location.href="search_result/"+select_type+'/'+content});});})();
</script>

2、基于a标签实现

<ul class="nav"><a href="#" id="select_type2">请输入搜索类型</a><ul class="plat"><li><a href="#" onclick="selectfuction('网络IP')">网络IP</a></li><li><a href="#" onclick="selectfuction('地址')">地址</a></li><li><a href="#" onclick="selectfuction('责任人')">责任人</a></li></ul>
</ul>

这里用a标签实现每个选项超链接的功能,可以实现每个按钮跳转到新url的功能。但我这边不需要,因此设置了href='#'。至于ul标签为什么要设置class,主要是为了格式好看些,后面再讲。

然后对应的script方法(功能:在点击选项后,将选项结果进行展示)如下:

<script>function selectfuction(args){var type = document.getElementById("select_type2");type.innerHTML = args}
</script>

相应在获取选择框内容是通过type.innerText来实现的。这里要注意,不是通过type.value,那样是获取不到“网络IP”等值的。

如果你只是这样简单地实现功能,界面展示会比较丑,如下:

在点击选项后其他选项仍然展示界面上,给人感觉很快,因此通过对ul标签进行display设置。以下style格式参考:

https://blog.csdn.net/qq_28919991/article/details/82860218

<style>*{padding: 0;margin: 0;}ul,a{font-size: 20px;list-style: none;text-decoration: none;background-color: #3C3C3C;color: #FFFFFF;width: 100px;text-align: center;border: 0px solid black;border-radius: 5px;margin-top: 1px;}a{display: block;}.plat{display: none;}.nav{float: left;margin-left: 1px;}.nav:hover .plat{display: block;clear: both;}.plat li:hover>a{background-color: dimgrey;}
</style>

示例代码

示例代码基本和上次的没差异,只是新增了下拉选项的功能。因此对于需要的同学,可以自己修改;也可以直接从github上下载:https://github.com/yuzipeng05/flask_test.git

作者:华为云特约供稿开发者  鹏哥贼优秀

【Python成长之路】从零做网站开发 -- 下拉选择项的实现相关推荐

  1. 【Python成长之路】如何用python开发自己的iphone应用程序,并添加至siri指令

    哈喽大家好,我是鹏哥. 今天想记录的学习主题是 -- 基于pythonista3 app开发自己的iphone应用程序. ~~~上课铃~~~ (由于今天被小伙伴推荐了这首歌,因此就应他的要求,作为此文 ...

  2. 从零做网站开发:基于Flask和JQuery,实现表格管理平台

    摘要:本文将为大家带来基于Flask框架和JQuery实现管理平台网站的开发功能. [写在前面] 你要开发网站? 嗯.. 会Flask吗? 什么东西,没听过... 会JQuery吗? 是python的 ...

  3. 【Python成长之路】快速理解复制、浅拷贝、深拷贝

    哈喽大家好,我是鹏哥. 今天想聊聊的主题是 -- 浅拷贝/深拷贝. ~~~上课铃~~~ 赤伶HITA - 赤伶 1 写在前面 浅拷贝.深拷贝的知识点,在python笔试和面试的过程中,经常被作为考题来 ...

  4. 【Python成长之路】破解Boss直聘网站滑块验证

    哈喽大家好,我是鹏哥. 今天要记录的内容是 -- 破解Boss直聘网站的滑块验证. -- 上 课 铃-- TuesdayBurak Yeter;Danelle Sandoval - Tuesday 1 ...

  5. 【Python成长之路】Python爬虫 --requests库爬取网站乱码(\xe4\xb8\xb0\xe5\xa)的解决方法【华为云分享】

    [写在前面] 在用requests库对自己的CSDN个人博客(https://blog.csdn.net/yuzipeng)进行爬取时,发现乱码报错(\xe4\xb8\xb0\xe5\xaf\x8c\ ...

  6. 【Python成长之路】Python爬虫 --requests库爬取网站乱码(\xe4\xb8\xb0\xe5\xaf\x8c\xe7\x9)的解决方法

    [写在前面] 在用requests库对自己的CSDN个人博客(https://blog.csdn.net/yuzipeng)进行爬取时,发现乱码报错(\xe4\xb8\xb0\xe5\xaf\x8c\ ...

  7. Python成长之路【第九篇】:Python基础之面向对象

    一.三大编程范式 正本清源一:有人说,函数式编程就是用函数编程–>错误1 编程范式即编程的方法论,标识一种编程风格 大家学习了基本的Python语法后,大家就可以写Python代码了,然后每个人 ...

  8. (转)Python成长之路【第九篇】:Python基础之面向对象

    一.三大编程范式 正本清源一:有人说,函数式编程就是用函数编程-->错误1 编程范式即编程的方法论,标识一种编程风格 大家学习了基本的Python语法后,大家就可以写Python代码了,然后每个 ...

  9. 【Python成长之路】如何用2行代码将抖音视频设置成我的手机铃声

    哈喽大家好,我是鹏哥. 今天想学习记录的内容是 -- 如何用python提取视频中的音频. ~~~上课铃~~~ 1 写在前面 本来按我的性子和精力,一周一般只想写一篇博客:但是今天在刷抖音时,发现有个 ...

最新文章

  1. NodeJS Events模块源码学习
  2. Oracle-内存管理解读
  3. 【ABAP】Native SQL
  4. node --- [node接口阅读]cluster的使用
  5. java math round小数_Java——Math的round方法
  6. leetcode468. 验证IP地址
  7. smarty中的在模板页中应用js css img等文件时,地址是相对与模板页对应的php文件
  8. javascript 推拉式菜单
  9. SWMM[Storm Water Management Model]模型代码编译调试环境设置
  10. sip android 客户端,为什么星号无法与android sip客户端正常工作?
  11. 《分布式微服务电商源码》-项目简介
  12. 【关系代数习题】纸上得来终觉浅——数据库学习之路(4)
  13. 485的信号测试软件,RS485通信测试项目中的压力测试方法、原理及基本测试模型...
  14. 后分布式时代: 多数派读写的「少数派」实现
  15. TTMS剧院票务管理系统全网最全!!!不接受反驳
  16. mac上Python版本不同时,给指定的版本安装库
  17. 基于心电的疲劳分析论文
  18. mysql 查询和修改组合_别崩溃,来看这个MySQL全面瓦解:子查询和组合查询
  19. 央视春晚歌手王琪,和戏歌双绝吴广全在长春芝华仕会盟
  20. jQuery弹幕插件

热门文章

  1. linux手机用什么购物支付,商城系统的微信支付应该如何配置?
  2. C 语言do with,中考英语易错题十七、语言交际的用法
  3. 加州大学欧文分校 计算机专业,加州大学欧文分校计算机科学排名第36(2020年TFE美国排名)...
  4. ubuntu配置硬盘开机自动挂载
  5. linux上NFS性能参数
  6. javascript 事件 第23节
  7. ExtJs六(ExtJs Mvc首页展示)
  8. 成功者都在用的“成功咒语”
  9. 创业与老子的顺其自然
  10. mysql安全性特点_MySQL数据库有哪些特点?为何能得到了广泛应用?