Jquery 在实现symfony表单集合示例时,表单不会嵌入原型,以防一次呈现整个表单
我试着按照页面上的例子。我试图在文章形式中嵌入作者形式 我的ArticleType(表单类)如下所示:Jquery 在实现symfony表单集合示例时,表单不会嵌入原型,以防一次呈现整个表单,jquery,symfony,prototypejs,Jquery,Symfony,Prototypejs,我试着按照页面上的例子。我试图在文章形式中嵌入作者形式 我的ArticleType(表单类)如下所示: $builder /.../ ->add('authors', CollectionType::class, [ 'entry_type' => AuthorType::class, 'entry_options' => ['label' => false], 'allow_add' =>
$builder
/.../
->add('authors', CollectionType::class, [
'entry_type' => AuthorType::class,
'entry_options' => ['label' => false], 'allow_add' => true])
这将导致下面截短的吼声中列出的HTML代码
我还添加了一个jQuery,试图遵循这个示例。不幸的是,这似乎不起作用。作者表单未嵌入到文章表单中
似乎$collectionHolder=$('ul.authors')代码>无效,因为没有html标记。相反,原型代码位于
中
文档中对此进行了详细描述:
如果您同时呈现整个“标记”子窗体(例如。
form_row(form.tags)),则原型将在上自动可用
外部div作为数据原型属性,与您看到的类似
上面
但是仍然我不确定如何修改代码使其工作
<form name="article" method="post" novalidate="novalidate"><legend class="col-form-label required">Authors</legend><div id="article_authors" data-prototype="<fieldset class="form-group"><div id="article_authors___name__"><div class="form-group"><label for="article_authors___name___firstName" class="required">First name</label><input type="text" id="article_authors___name___firstName" name="article[authors][__name__][firstName]" required="required" class="form-control" /></div><div class="form-group"><label for="article_authors___name___surname" class="required">Surname</label><input type="text" id="article_authors___name___surname" name="article[authors][__name__][surname]" required="required" class="form-control" /></div></div></fieldset>"></div><div class="form-group"><label class="" for="article_issue">Issue</label><select id="article_issue" name="article[issue]" class="form-control"><option value=""></option><option value="1">KPSE_12019</option><option value="2">KPSET1-1</option><option value="3">Wyd22019</option></select></div><div class="form-group"><button type="submit" id="article_save" name="article[save]" class="btn-primary btn">Zapisz</button></div><input type="hidden" id="article__token" name="article[_token]" value="CbZ7q9gSQKkG9RlxRlcMv6Tt_4ocsJTD5Mgo08xRjPQ" /></div>
</form>
AuthorsIssueKPSE_12019KPSET1-1Wyd22019Zapisz
var$collectionHolder;
//设置“添加标签”链接
var$addAuthorButton=$('Dodaj autora');
变量$newLinkLi=$(').append($addAuthorButton);
jQuery(文档).ready(函数(){
//获取保存作者集合的ul
$collectionHolder=$('ul.authors');
//将“添加作者”锚和li添加到标签ul
$collectionHolder.append($newLinkLi);
//计算我们当前的表单输入(例如2),将其用作新的表单输入
//插入新项目时的索引(例如2)
$collectionHolder.data('index',$collectionHolder.find(':input').length);
$addAuthorButton.on('click',函数(e){
//添加新的标记表单(请参见下一个代码块)
addAuthorForm($collectionHolder,$newLinkLi);
});
});
函数addAuthorForm($collectionHolder,$newLinkLi){
//获取前面解释的数据原型
var prototype=$collectionHolder.data('prototype');
//获取新索引
var索引=$collectionHolder.data('index');
var newForm=原型;
//只有在TaskType的标记字段中未设置'label'=>false时,才需要此选项
//将原型HTML中的“\uuuuu name\uuuuuu label\uuuuuuuuuuuu”替换为
//取而代之的是一个基于我们拥有多少物品的数字
//newForm=newForm.replace(/\u名称\u标签\u标签/g,索引);
//将原型HTML中的“\uuuu name\uuuuuu”替换为
//取而代之的是一个基于我们拥有多少物品的数字
newForm=newForm.replace(/\u\u name\u\u/g,索引);
//为下一项增加索引1
$collectionHolder.data('index',index+1);
//在“添加标签”链接li之前,在页面中的一个li中显示表单
变量$newFormLi=$('')。追加(newForm);
$newLinkLi.before($newFormLi);
}
名称plName enSummary PLEnsummary关键字PLEn发布日期
年
月
白天
年月日至年月日1234567891011213141516171819202122232425262728293031201420152001520017201820192020202202202202220232024状态图submitedeceptedpublishedauthorsissuekpse12019kpse1-1wyd2019zapisz
更改
$collectionHolder = $('ul.authors');
为了
那你知道吗
改变
$collectionHolder = $('ul.authors');
为了
那你知道吗
var$collectionHolder;
//设置“添加标签”链接
var$addAuthorButton=$('Dodaj autora');
var$newLinkLi=$('').append($addAuthorButton);
jQuery(文档).ready(函数(){
//获取保存作者集合的ul
$collectionHolder=$('div#article_authors');
//将“添加作者”锚和li添加到标签ul
$collectionHolder.append($newLinkLi);
//计算我们当前的表单输入(例如2),将其用作新的表单输入
//插入新项目时的索引(例如2)
$collectionHolder.data('index',$collectionHolder.find(':input').length);
$addAuthorButton.on('click',函数(e){
//添加新的标记表单(请参见下一个代码块)
addAuthorForm($collectionHolder,$newLinkLi);
});
});
函数addAuthorForm($collectionHolder,$newLinkLi){
//获取前面解释的数据原型
var prototype=$collectionHolder.data('prototype');
//获取新索引
var索引=$collectionHolder.data('index');
var newForm=原型;
//只有在TaskType的标记字段中未设置'label'=>false时,才需要此选项
//将原型HTML中的“\uuuuu name\uuuuuu label\uuuuuuuuuuuu”替换为
//取而代之的是一个基于我们拥有多少物品的数字
newForm=newForm.replace(/\u\u name\u\u/g,索引);
//为下一项增加索引1
$collectionHolder.data('index',index+1);
//在“添加标签”链接li之前,在页面中的一个li中显示表单
变量$newFormLi=$('')。追加(newForm);
$newLinkLi.before($newFormLi);
}
li*{
显示:内联块;
利润率:0.10px;
}
作者
发布PSE12019KPSET1-1Wyd22019Zapisz
var$collectionHolder;
//设置“添加标签”链接
var$addAuthorButton=$('Dodaj autora');
var$newLinkLi=$('').append($addAuthorButton);
jQuery(文档).ready(函数(){
//获取保存作者集合的ul
$collectionHolder=$('div#article_authors');
//将“添加作者”锚和li添加到标签ul
$collectionHolder.append($newLinkLi);
//计算我们当前的表单输入(例如2),将其用作新的表单输入
//插入新项目时的索引(例如2)
$collectionHolder.data('index',$collectionHolder.find(':input').length);
$addAuthorButton.on('click',函数(e){
//添加新的标记表单(请参见下一个代码块)
addAuthorForm($collectionHolder,$newLinkLi);
});
});
函数addAuthorForm($collectionHolder,$newLinkLi){
//获取前面解释的数据原型
var prototype=$collectionHolder.data('prototype');
//得到