码迷,mamicode.com
首页 > 数据库 > 详细

利用checkbox的到值,并且存到数据库修改的话要显示之前选择的

时间:2014-08-09 21:05:09      阅读:319      评论:0      收藏:0      [点我收藏+]

标签:os   数据   for   代码   数据库   type   app   user   

在前台当然是利用checkbox来得到复选框的
语言:
{% for language in languages%}
<input type="checkbox" name="language" value=‘{{ language.id }}‘ >{{ language.name }}
{% endfor %}
而复选框如果是已经选的在前台就展示的是选择的,那么input的属性就应该有checked

那么就可以通过在前台if来判断language.id跟已经选择的id做比较,如果一样就有checked

在后台取值:
language = request.POST.getlist(‘language‘)
然后保存到UserInfo里,此时UserInfo的language字段就是一个list

    imginfo = UserInfo.objects.get(user=id)
    lansid = []
    for i in eval(imginfo.language):
       lansid.append(int(i))
    languages = Language.objects.all()
上边就是将UserInfo的language取出来,因为他的字段是这样的“[u‘1‘,u‘2‘]”
所以用eval(imginfo.language),将他搞成[u‘1‘,u‘2‘]
然后再前台的{{language.id}}是一个int值
所以我就用lansid.append(int(i))对他的值进行转换

又回到前台,此时的代码变成:
语言:
{% for language in languages%}
<input type="checkbox" name="language" value=‘{{ language.id }}‘
{% for lan in lansid%}
{% ifequal lan language.id %} #用ifequal判断值是否相等
checked
{%endifequal%}
{%endfor%}
>{{ language.name }}
{% endfor %}

利用checkbox的到值,并且存到数据库修改的话要显示之前选择的,布布扣,bubuko.com

利用checkbox的到值,并且存到数据库修改的话要显示之前选择的

标签:os   数据   for   代码   数据库   type   app   user   

原文地址:http://www.cnblogs.com/jxrichar/p/3901426.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!