javascript - 在 symfony 中添加 CollectionType 表单时如何保持 Javascript 功能
问题描述
我用symfony制作了一个带有CollectionType字段的表单,为两个相关实体添加嵌入式表单。
一切正常,但嵌入表单中的某些字段是dateType字段,我想在选择它们时使用datepicker javascript 调用。
完成所有工作后,我发现datepicker 弹出窗口不起作用,因为表单是通过 javascript 加载的。但是,我该怎么做才能让他们工作呢?
注意:我没有编写任何代码,因为我遵循了 symfony.com 文档提出的标准程序。但很乐意应要求将其张贴在这里。
解决方案
您需要在 javascript 代码中初始化新的日期输入字段(在其中向集合添加新行)。这是一个示例,因为您没有发布任何代码。
function addFormToCollection($collectionHolderClass) {
var $collectionHolder = $('.' + $collectionHolderClass);
var prototype = $collectionHolder.data('prototype');
var index = $collectionHolder.data('index');
var newForm = prototype;
newForm = newForm.replace(/__name__/g, index);
$collectionHolder.data('index', index + 1);
var $newFormLi = $('<li></li>').append(newForm);
$collectionHolder.append($newFormLi);
// initialize new DateTime fields
var $newRow = $collectionHolder..children().last();
$newRow.children('.dateTime').each(function(){
initializeDatePicker($(this));
});
}
推荐阅读
- turing-machines - 可以使用 2 个“相反”识别器构建决策器吗?
- antlr - 区分语法中的多个标记
- php - 如何使用 PHP 上传 zip/rar 或任何压缩文件
- javascript - 我的运营商出了什么问题?Javascript
- javascript - react-native - *.js 导入 *.ts 文件
- javascript - 在特定 url 上重定向 url
- javascript - 如何在网站中隐藏我的源文件以使用户无法访问
- javascript - 如何将包含多个重复关键字的字符串拆分为javascript中的数组?
- java - 编译器如何读取这个:someString.indexOf(someOtherString.charAt(0))?
- php - 查找@throws 异常:PHPDoc 期望此方法有哪些异常?