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

常用场景

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

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

 

html代码段

<select  class="form-control" name="input_cityid" id="input_cityid" >
		<option value="0" selected >全国</option>
		<option value="1" >北京</option>
		<option value="2">上海</option>
		<option value="3">广州</option>
		<option value="4">深圳</option>
		<option value="5">杭州</option>
		<option value="6" >苏州</option>
		<option value="7">南京</option>
		<option value="8">成都</option>
		<option value="9">重庆</option>
		<option value="10">武汉</option>
</select>

js

	<script type="text/javascript">
			$(function(){
				// 接收后台传入的值
				var city_id= {{input_cityid}} 
				// alert(city_id)
				// 设置select的值
				$("#input_cityid").val(city_id)
		})
	</script>

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

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值