【发布时间】:2012-08-26 09:49:10
【问题描述】:
我想使用jQueryUI Slider 作为允许配置营业时间的小部件。
所以我做了这个模型:
WEEKDAYS = [
(1, _("Monday")),
(2, _("Tuesday")),
(3, _("Wednesday")),
(4, _("Thursday")),
(5, _("Friday")),
(6, _("Saturday")),
(7, _("Sunday")),
]
class OpeningHours(models.Model)
comp = models.ForeignKey('Company')
weekday = models.IntegerField(choices=WEEKDAYS, unique=True)
from_hour = models.TimeField()
to_hour = models.TimeField()
class Company(models.Model):
name = models.CharField(max_length=100)
logo = models.FileField(upload_to='company_logos')
我知道执行控制器的标记,例如:
<div class="slider-block">
<div class="slider-end">18:00</div>
<div class="slider"></div>
<div class="slider-start">08:00</div>
<div class="slider-day">Tue</div>
</div>
这给出了类似的东西(带有一些额外的 css/js)
但我无法将其实现为表单小部件
【问题讨论】:
-
你到底在纠结什么?
-
滑块未绑定到表单输入,因此您必须将回调添加到滑块
stop事件并相应地填充一些隐藏的输入,以便表单可以发布此数据。要呈现这样的东西及其所需的脚本,您需要制作一个自定义表单小部件并覆盖其render方法以添加这个额外的 DIV、隐藏输入和脚本标记 -
将这一切变成一个单独的硬编码会容易得多。您所需要的只是将表单字段值作为隐藏输入,每当它更改时,都需要使用此滑块小部件中的值填充。
-
谢谢,我没有想到用javascript填充的隐藏输入。
标签: django jquery-ui jquery-ui-slider django-widget