Php 使用嵌入表单的问题
我正在使用Symfony2中的嵌入表单。我的主要形式是inmovilizado_形式,集合是inmovilizado_概念形式。它工作得很好,但我对jquery有一个问题,当我单击一个ñadir概念时,它会添加两行inmovilizado_概念表单,而不是一行。我猜不出问题出在哪里,因为我从官方文档中得到了代码。下面你可以看到一张显示这两个概念的图片 这是我的密码: 细枝: JQUERY 1.9.1Php 使用嵌入表单的问题,php,jquery,twig,symfony-2.4,Php,Jquery,Twig,Symfony 2.4,我正在使用Symfony2中的嵌入表单。我的主要形式是inmovilizado_形式,集合是inmovilizado_概念形式。它工作得很好,但我对jquery有一个问题,当我单击一个ñadir概念时,它会添加两行inmovilizado_概念表单,而不是一行。我猜不出问题出在哪里,因为我从官方文档中得到了代码。下面你可以看到一张显示这两个概念的图片 这是我的密码: 细枝: JQUERY 1.9.1 提前谢谢!这快把我逼疯了 请澄清你的问题。问题是每次我点击按钮AñADIR CONCEPTO,它
提前谢谢!这快把我逼疯了 请澄清你的问题。问题是每次我点击按钮AñADIR CONCEPTO,它会添加两行CONCEPTO,正如你在图片上看到的那样。它应该只添加一个。。。不是2。谢谢
<div class="form">
{{ form_start(inmovilizado_form) }}
<div class="input-box">
{{ form_row(inmovilizado_form.proveedor) }}
</div>
<div class="input-box">
{{ form_row(inmovilizado_form.anos) }}
</div>
<div class="input-box">
{{ form_row(inmovilizado_form.fecha) }}
</div>
<div class="title">
Conceptos
</div>
<div class="conceptos" data-prototype="{{ form_widget(inmovilizado_form.conceptos.vars.prototype)|e }}">
{% for concepto in inmovilizado_form.conceptos %}
{{ form_row(concepto.nombre) }}
{{ form_row(concepto.base) }}
{{ form_row(concepto.cantidad) }}
{{ form_row(concepto.iva) }}
{% endfor %}
</div>
{% block javascripts %}
{{ parent() }}
<script>
var $collectionHolder;
var $addTagLink = $('<a href="#" class="add_concepto_link">Añadir concepto</a>');
var $newLinkLi = $('<div class="add_concepto"></div>').append($addTagLink);
</script>
{% endblock %}
{{ form_row(inmovilizado_form.submit) }}
{{ form_row(inmovilizado_form.cancel) }}
{{ form_end(inmovilizado_form) }}
</div>
$(document).ready(function(){
$collectionHolder = $('div.conceptos');
$collectionHolder.append($newLinkLi);
$collectionHolder.find('.item').each(function() {
addTagFormDeleteLink($(this));
});
$collectionHolder.data('index', $collectionHolder.find(':input').length);
$addTagLink.on('click', function(e) {
e.preventDefault();
addTagForm($collectionHolder, $newLinkLi);
});
});
function addTagForm($collectionHolder, $newLinkLi) {
var prototype = $collectionHolder.data('prototype');
var index = $collectionHolder.data('index');
var newForm = prototype.replace(/__name__/g, index);
$collectionHolder.data('index', index + 1);
var $newFormLi = $('<div class="item"></div>').append(newForm);
$newLinkLi.before($newFormLi);
addTagFormDeleteLink($newFormLi);
}
function addTagFormDeleteLink($tagFormLi) {
var $removeFormA = $('<a href="#">Eliminar concepto</a>');
$tagFormLi.append($removeFormA);
$removeFormA.on('click', function(e) {
e.preventDefault();
$tagFormLi.remove();
});
}