Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用嵌入表单的问题_Php_Jquery_Twig_Symfony 2.4 - Fatal编程技术网

Php 使用嵌入表单的问题

Php 使用嵌入表单的问题,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,它

我正在使用Symfony2中的嵌入表单。我的主要形式是inmovilizado_形式,集合是inmovilizado_概念形式。它工作得很好,但我对jquery有一个问题,当我单击一个ñadir概念时,它会添加两行inmovilizado_概念表单,而不是一行。我猜不出问题出在哪里,因为我从官方文档中得到了代码。下面你可以看到一张显示这两个概念的图片

这是我的密码:

细枝:

JQUERY 1.9.1


提前谢谢!这快把我逼疯了

请澄清你的问题。问题是每次我点击按钮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&ntilde;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();
      });
 }