zoukankan      html  css  js  c++  java
  • 利用checkbox的到值,并且存到数据库修改的话要显示之前选择的

    在前台当然是利用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 %}

  • 相关阅读:

    《银行》
    动画
    定位
    浮动
    《css的总结》
    Java的Debug调试
    Eclipse "Unable to install breakpoint due to missing line number attributes..."
    解决 Tomcat Server in Eclipse unable to start within 45 seconds 不能启动的问题
    Java下载文件(流的形式)
  • 原文地址:https://www.cnblogs.com/jxrichar/p/3901426.html
Copyright © 2011-2022 走看看