我在那里遇到一个愚蠢的问题,但是我敢肯定,JavaScript的高手对您来说很容易!

这是我的symfony表格:

$form = $this->createFormBuilder()
            ->add('accept', 'checkbox', array('required' => false, 'label' => 'Do You Accept This News ?'))
            ->add('custom', 'textarea', array('required' => false, 'attr' => array('rows' => 10), 'label' => 'Attach a Custom Message'))
            ->add('line', 'integer', array('required' => false))
            ->add('Send', 'submit',array('attr' => array('class' => 'button')))
            ->getForm();


这是我的树枝模板渲染它:

<table>
        <thead>
        <tr>
            <th>Time</th>
            <th>Statement</th>
            <th>Action</th>
        </tr>
        </thead>
        <tbody>
        {% set count = 0 %}
        {% for milestone in milestones %}
        <tr>
            <td>{{ milestone.createdAt | date('M-d H:i:s') }}</td>
            <td><a href="{{ path('rudelist_entity',{'slug':milestone.idEntity.slug})}}">{{ milestone.idEntity.name}}</a>{{ newStatements[count] }}
            </td>
            <td>
                <a class="button revealModal" href="#" data-reveal-id="myModalJournalist">Treat News</a>
                <div id="myModalJournalist" class="reveal-modal" data-reveal>
                    {{ form_start(form) }}
                    <div class="marginBottom">
                        {{ form_widget(form.accept) }}
                        {{form_label(form.accept)}}
                    </div>
                    <div class="fieldContainer fieldTextareaContainer">
                        {{form_label(form.custom)}}
                        {{form_widget(form.custom)}}
                        {{form_errors(form.custom)}}
                    </div>
                    <div class="hide">
                        {{form_widget(form.line)}}
                    </div>

                    {{ form_end(form) }}

                    <a class="close-reveal-modal">&#215;</a>
                </div>
        </tr>
        {% set count = count + 1 %}
        {% endfor %}
        </tbody>
    </table>


就是这样,我为每行显示一个按钮,但是它们都以唯一的形式打开相同的模式,其中有一个布尔值,一个textarea和一个我要隐藏的整数字段,因为我想自动-用单击的按钮行的索引填充表单的“行”行,因此我知道需要更新该行。
我一直在尝试,但是没有成功:

$(function(){
    $("body").on('click','a.button.revealModal',function(){
        var position = $(this).parents("tr").index();
        $("#form").find("input#form_line").val(position);
    });
});


谢谢你的帮助 !

最佳答案

https://stackoverflow.com/questions/469883/how-to-find-the-index-of-a-row-in-a-t‌​able-using-jquery
你有没有尝试过:

$("tr").index(this)


文档显示仅通过此操作,并且前面的选择应该在找到节点的位置。如果需要在特定表中找到它(并且有多个表),则可能需要提供一些上下文:

// haven't tested this
$("tr", $(this).closest("table")).index(this)

关于javascript - 用表行索引填充Symfony表单行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25442643/

10-13 04:14