如何在 Django 和 HTMX 中使用 HTML 日期类型

How to use HTML date type with Django and HTMX

我正在尝试从选择器获取日期并在日期更改时触发 hx-get。下面的代码生成带有日期选择器弹出的文本输入字段。当我弹出日期选择器并更改日期时,不会触发 hx-get。如果我随后单击文本输入区域,则 hx-get 将以所选日期触发。那么,当我 select 来自选择器的日期时,如何让触发器激活?

我尝试了 TextInput 和 DAteInput 小部件,但它们的行为方式相同。我玩了一下 django-bootstrap-datepicker-plus 但发现它不能很好地处理我使用 HTMX 和 Crispy 表单助手布局的表单。

谢谢

    datedue = forms.DateField(initial=timezone.now().date(),
                              label="On or before",
                              widget=forms.TextInput(attrs={'type': 'date',
                                    'hx-get': reverse_lazy('change-priority'),
                                    'hx-target': '#tasklist',
                                    'hx-include': '[name="priority"], [name="status"],[name="assigned"], [name="iscomplete"]',
                                    'hx-trigger': 'click change'
                                    })
                                )

您需要用 comma 分隔事件。

datedue = forms.DateField(initial=timezone.now().date(),
                          label="On or before",
                          widget=forms.TextInput(attrs={'type': 'date',
                                'hx-get': reverse_lazy('change-priority'),
                                'hx-target': '#tasklist',
                                'hx-include': '[name="priority"], [name="status"],[name="assigned"], [name="iscomplete"]',
                                'hx-trigger': 'click, change'
                                })
                            )

space 分隔符用于事件修饰符,例如change delay:1s.