向我的表单集添加新的内联时,我的日期选择器停止工作
Posted
技术标签:
【中文标题】向我的表单集添加新的内联时,我的日期选择器停止工作【英文标题】:when adding a new inline to my formset, my datepickers stop working 【发布时间】:2011-10-06 20:07:09 【问题描述】:今天有点奇怪。
我有一个非常基本的项目。一个表单并添加到我有一个内联表单。这是给作者的书。
当表单加载(/authors/create/)时,我有一个作者姓名,在下面我有一个表单,我可以在其中向该作者添加书籍。
为了能够拥有动态内联(能够在表单上添加或删除),我使用http://code.google.com/p/django-dynamic-formset/。
我现在的问题是,当我添加新的内联时,内联表单的所有日期选择器(用于发布日期的字段)都停止工作。
I have attached my sample project showing exactly what is wrong. You can download and run it here.
为什么以及如何解决这个问题?
【问题讨论】:
抱歉,不打算下载您的 zip。但是当你说日期选择器停止工作时,你是指现有的,还是刚刚添加的新的? 加载时呈现的日期字段似乎没问题。然后当我添加一个新行时,内联表单集中的所有日期选择器都会退出窗口,即使是最初工作的那些。但是与不同表单或表单集关联的日期选择器继续工作。只是作为该内联表单集中断的一部分的日期选择器。 老实说,使用 Django 1.3 和 Safari 5.1 (7534.48.3) 似乎工作得很好。 我不断收到:No module named books_authors_inlines.urls
,我错过了什么吗?
【参考方案1】:
我确信有更清洁和更聪明的方法可以做到这一点。但是工作的概念证明:
function renewDatePickers()
$('.datepicker').datepicker('destroy');
$(".datepicker").datepicker(dateFormat: 'yy-mm-dd');
$(renewDatePickers);
$(function()
$('.form-row.inline. book_form.prefix ').formset(
prefix: ' book_form.prefix ',
added: renewDatePickers // Event -- read inline docs
);
)
并将您的 JS 代码从 base.html
转移到 author_form.html
【讨论】:
谢谢。在每次添加内联时重新初始化日期选择器是非常聪明的。我也在 remove 事件中做到了,现在效果很好。以上是关于向我的表单集添加新的内联时,我的日期选择器停止工作的主要内容,如果未能解决你的问题,请参考以下文章