Django 渲染:如何在 Select2 Jquery 插件中实例化所选项目

安吉·阿莱霍

我正在使用 Raw 方法过滤一些数据,它允许用户使用 Select2 插件在一个字段中选择多个值,我得到每个字段的 request.POST,做过滤的东西,然后我返回这样的上下文:

context = {
    'form': MyForm(request.POST),
    'results': results,
}
return render(request, self.template_name, context)

当我返回结果以显示它们时,应该向用户显示选择了哪些字段,但是当表单呈现时,我只选择了列表的第一个值(从 POST 中检索)。我必须设置其他东西吗?还是我做错了什么?

更新:从 Django 表单渲染输入小部件:

equipo = ChoiceField(
        widget=Select(
            attrs={'class': 'form-control input-sm', 'multiple': 'multiple'}
        )
    )

另外,我没有保存,我只是检索值以使用raw方法应用过滤器并返回原始查询结果。

看法:

class MedicionView(View):

    def __init__(self):
        self.template_name = "medicion/grid.html"

    def get(self, request):

        form = MedicionFiltersForm()
        odometros = Odometro.objects.all()
        equipos = Equipo.objects.all()
        results = Odometro.objects.raw('''
            select
            ....

                ''')[:100]

        contexto = {
            'form': form,
            'results': results,
        }

        return render(request, self.template_name, contexto)

    def post(self, request):
        # Retrieve data 
        form = MedicionFiltersForm(request.POST)
        equipos = request.POST.getlist('equipo')
        odometros = request.POST.getlist('odometro')
        tipo = request.POST.get('tipo')

        # business stuff

        results = Odometro.objects.raw('''
           select
            ...

                ''', [odometros, tipos, equipos])

        # More business stuff

        # return request.POST in form 
        contexto = {
            'form': form,
            'results': results,
        }
        return render(request, self.template_name, contexto)

我的模型中甚至不存在 M2M,我只是WHERE INraw方法中使用多个值来使用 SQL子句

安吉·阿莱霍

我用一种不太好的方法解决了这个问题,但它有效:

我将组件在 POST 方法中检索到的值传递给一个整数列表,然后将其转储到 JSON 中

lista_equipos = request.POST.getlist('equipo')
equipos_lista = [int(item) for item in lista_equipos]
equipos_json = json.dumps(equipos_lista)

我在上下文中返回 JSON:

context = {
    # some extra variables
    'equipos_lista': equipos_json
}

在模板中,我检索此 json 并将值设置为 select2 组件。不要错过触发方法!

<script>
    var array_equipos = {{ equipos_lista }};
    $('#id_equipo').val(array_equipos);
    $('#id_equipo').trigger('change');

 </script>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何从select2()下拉Jquery禁用所选属性?

来自分类Dev

如何在select2插件中设置选择值-jQuery

来自分类Dev

XPages中的Select2 JQuery插件

来自分类Dev

如何按字母顺序对select2(jQuery插件)选项进行排序?

来自分类Dev

如何在jQuery select2远程选择框中设置默认选定值的顺序?

来自分类Dev

如何在javascript变量中获取jquery select2选定的值

来自分类Dev

如何在 jQuery select2 中显示 optgroup 标签+值

来自分类Dev

如何在jQuery的select2中的2个选择框之间更改选定的选项元素?

来自分类Dev

使用Ajax的jQuery Select2插件

来自分类Dev

jQuery Select2插件+ Laravel 5.3

来自分类Dev

如何从jQuery Select2元素中删除特定选项?

来自分类Dev

如何自定义jquery select2插件-选择框的jQuery替换

来自分类Dev

jQuery select2将类添加到所选项目

来自分类Dev

如何在AngularJS中使用jQuery Select2

来自分类Dev

如何在jtable中使用jquery Select2

来自分类Dev

如何使用Select2 jquery插件获取AJAX结果的结果值?

来自分类Dev

如何使用jquery验证插件来验证select2元素?

来自分类Dev

如何通过Jquery的select2插件使用HTML5的本地存储

来自分类Dev

如何让jQuery select2动态禁用一个选项?

来自分类Dev

如何使用从Select2下拉列表中选择的选项来触发jQuery?

来自分类Dev

在select2 jquery插件中未调用initSelection

来自分类Dev

如何强制Django使用CDN中的select2而不是本地管理员版本?

来自分类Dev

无法在select2 jquery中获取默认选项的值

来自分类Dev

Select2:如何为所选项目添加额外信息?

来自分类Dev

Select2:如何在 Select2 中获得自定义排序

来自分类Dev

当Ajax响应来自使用laravel控制器的select2时,如何检查JQuery附加选项中的条件?

来自分类Dev

jQuery Bootstrap Select2插件问题与Validate插件

来自分类Dev

如何从dom中删除select2

来自分类Dev

如何在渲染前设置HTML select元素的所选项目?

Related 相关文章

  1. 1

    如何从select2()下拉Jquery禁用所选属性?

  2. 2

    如何在select2插件中设置选择值-jQuery

  3. 3

    XPages中的Select2 JQuery插件

  4. 4

    如何按字母顺序对select2(jQuery插件)选项进行排序?

  5. 5

    如何在jQuery select2远程选择框中设置默认选定值的顺序?

  6. 6

    如何在javascript变量中获取jquery select2选定的值

  7. 7

    如何在 jQuery select2 中显示 optgroup 标签+值

  8. 8

    如何在jQuery的select2中的2个选择框之间更改选定的选项元素?

  9. 9

    使用Ajax的jQuery Select2插件

  10. 10

    jQuery Select2插件+ Laravel 5.3

  11. 11

    如何从jQuery Select2元素中删除特定选项?

  12. 12

    如何自定义jquery select2插件-选择框的jQuery替换

  13. 13

    jQuery select2将类添加到所选项目

  14. 14

    如何在AngularJS中使用jQuery Select2

  15. 15

    如何在jtable中使用jquery Select2

  16. 16

    如何使用Select2 jquery插件获取AJAX结果的结果值?

  17. 17

    如何使用jquery验证插件来验证select2元素?

  18. 18

    如何通过Jquery的select2插件使用HTML5的本地存储

  19. 19

    如何让jQuery select2动态禁用一个选项?

  20. 20

    如何使用从Select2下拉列表中选择的选项来触发jQuery?

  21. 21

    在select2 jquery插件中未调用initSelection

  22. 22

    如何强制Django使用CDN中的select2而不是本地管理员版本?

  23. 23

    无法在select2 jquery中获取默认选项的值

  24. 24

    Select2:如何为所选项目添加额外信息?

  25. 25

    Select2:如何在 Select2 中获得自定义排序

  26. 26

    当Ajax响应来自使用laravel控制器的select2时,如何检查JQuery附加选项中的条件?

  27. 27

    jQuery Bootstrap Select2插件问题与Validate插件

  28. 28

    如何从dom中删除select2

  29. 29

    如何在渲染前设置HTML select元素的所选项目?

热门标签

归档