我注意到它在文件../vendor/sonata-project/doctrine-orm-admin-bundle/Sonata/DoctrineORMAdminBundle/Resources/views/CRUD/edit_orm_one_association_script.html.twig 中,当您单击时它会在其中创建一个新行在链接上添加,特别是在这段代码中:
// the ajax post
jQuery(form).ajaxSubmit({
url: '{{ url('sonata_admin_append_form_element', {
'code': sonata_admin.admin.root.code,
'elementId': id,
'objectId': sonata_admin.admin.root.id(sonata_admin.admin.root.subject),
'uniqid': sonata_admin.admin.root.uniqid
} + sonata_admin.field_description.getOption('link_parameters', {})) }}',
type: "POST",
dataType: 'html',
data: { _xml_http_request: true },
success: function(html) {
jQuery('#field_container_{{ id }}').replaceWith(html); // replace the html
if(jQuery('input[type="file"]', form).length > 0) {
jQuery(form).attr('enctype', 'multipart/form-data');
jQuery(form).attr('encoding', 'multipart/form-data');
}
jQuery('#sonata-ba-field-container-{{ id }}').trigger('sonata.add_element');
jQuery('#field_container_{{ id }}').trigger('sonata.add_element');
}
});
return false;
};
我想知道如何实现触发器:
jQuery('#field_container_{{ id }}').trigger('sonata.add_element');
添加javascript!在奏鸣曲类型集合中创建一个新行之后。
在文档中说: 提示:添加一行(sonata-collection-item-added)或删除(sonata-collection-item-deleted)后会触发 jQuery 事件。您可以绑定到它们以触发导入模板的一些自定义 javascript(例如:将日历小部件添加到刚刚添加的日期字段)
欢迎任何帮助!