html select 下拉框刷新页面后保留上一次选择的值

常用场景

组合条件查询点击查询/刷新页面,包括input输入框\复选框等在内的组件都可以通过前端设置value="{{id}}",后台发送的数据包括对应的字段,从而实现刷新后保留上一次的值,提高用户体验,但是发现select不能这么做,它的value值是约定好并传给后台的,后台可以传回来,但无法直接显示。

网上搜的资料五花八门,自己用jquery实现了,效果:

 

html代码段

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来实现,后面再总结吧。。

你可能感兴趣的:(前端)