常用场景
组合条件查询点击查询/刷新页面,包括input输入框\复选框等在内的组件都可以通过前端设置value="https://www.it610.com/article/{{id}}",后台发送的数据包括对应的字段,从而实现刷新后保留上一次的值,提高用户体验,但是发现select不能这么做,它的value值是约定好并传给后台的,后台可以传回来,但无法直接显示。
网上搜的资料五花八门,自己用jquery实现了,效果:
html代码段
【html select 下拉框刷新页面后保留上一次选择的值】js
后台是django,函数如下
def search_handle(request):
post = request.POST
input_content=post.get('input_content').strip()
input_cityid=post.get('input_cityid',0)
# print(input_cityid)
# print(input_content)
city='全国'
if input_cityid =='0':
city='全国'
params = ('%' + input_content + '%')
cursor = connection.cursor()
cursor.execute(
"SELECT *FROM `event` where eventTilte like %s" ,params )
else:
if input_cityid == '1':
city='北京'
elif input_cityid == '2':
city='上海'
elif input_cityid == '3':
city='广州'
elif input_cityid == '4':
city='深圳'
elif input_cityid == '5':
city='杭州'
elif input_cityid == '6':
city='苏州'
elif input_cityid == '7':
city='南京'
elif input_cityid == '8':
city='成都'
elif input_cityid == '9':
city='重庆'
elif input_cityid == '10':
city='武汉'
params = ('%' + input_content + '%','%' + city + '%')
cursor = connection.cursor()
cursor.execute(
"SELECT *FROM `event` where eventTilte like %s and eventAddress like %s" ,params )
event_list = cursor.fetchall()
cursor.close()
content = {'event_list':event_list,'input_content':input_content,'input_cityid':input_cityid}
return render(request,'c_activity/search.html',content)
另外还可以通过ajax来实现,后面再总结吧。。
推荐阅读
- web网页模板|如此优秀的JS轮播图,写完老师都沉默了
- 接口|axios接口报错-参数类型错误解决
- JavaScript|vue 基于axios封装request接口请求——request.js文件
- JavaScript|JavaScript — 初识数组、数组字面量和方法、forEach、数组的遍历
- JavaScript|JavaScript — call()和apply()、Date对象、Math、包装类、字符串的方法
- 前端|web前端dya07--ES6高级语法的转化&render&vue与webpack&export
- vue|Vue面试常用详细总结
- javascript|vue使用js-xlsx导出excel,可修改格子样式,例如背景颜色、字体大小、列宽等
- css|我用css精灵图拼接了自己的英文名字,不会还有人不知道精灵图技术吧()
- css|css三角的做法及其案例