0

顧客からの問い合わせのリストを示す index というファイルがあります。その中に複数の削除を入れたいです。

私のインデックスファイルリストのコードは次のとおりです。

 {% block body -%}
<h1>Enquiry list</h1>


<table class="records_list" id="rounded-corner">
    <thead>
        <tr>
    <th>Option</th>
    <th>Id</th>
            <th>Name</th>
            <th>Email</th>
            <th>Subject</th>
            <th>Body</th>
            <th>Actions</th>
        </tr>
    </thead>
    <tbody>
    {% for entity in entities %}
        <tr>
    <td><input type="checkbox" name="multiSelect" id="multiSelect[]" value="{{ entity.id }}"></td>
            <td><a href="{{ path('enquiry_show', { 'id': entity.id }) }}">{{ entity.id }}</a></td>
            <td>{{ entity.name }}</td>
            <td>{{ entity.email }}</td>
            <td>{{ entity.subject }}</td>
            <td>{{ entity.body }}</td>
            <td>

                    <a href="{{ path('enquiry_show', { 'id': entity.id }) }}" title="View"><img src="http://test//bundles/blogger/image/view.png" style="width:30px; height:30px"></a>

                    <a href="{{ path('enquiry_edit', { 'id': entity.id }) }}" title="Edit"> <img src="http://test//bundles/blogger/image/edit.png" style="width:30px; height:30px" > </a>

            </td>
        </tr>
    {% endfor %}
    </tbody>
    <tfooter>

    </tfooter>
</table>

    <ul>
    <li>
        <a href="{{ path('enquiry_new') }}">
            Create a new entry
        </a>
    </li>
</ul>
{% endblock %}

その中にチェックボックスを入れました。私が欲しいのは、すべてのIDを格納する「multiSelect []」の配列値です。これをコントローラーに渡します。この配列値をコントローラーの引数として渡す方法がわかりません。ここで渡したいので、助けてください。

<tfooter>

      <a href="{{ path('enquiry_edit', " ")  }}">MultiDelete</a>

</tfooter>    
4

3 に答える 3

0

そのためにはフォームを使用する必要があります。フォームなしで入力フィールドを使用するのは、常にずさんな方法です。

于 2013-02-26T08:24:21.177 に答える
0

答えがわかりました。フォームを作成し、コントローラーの deleteAction にリクエストを渡します。

deleteAction メソッド内

$request->get('multiSelect'); を使用してリクエスト パラメータを取得します。「multiSelect」入力ボックスの名前。

そして、repositoryclass オブジェクトを使用して、タスクを完了しました。

ご返信ありがとうございます。

于 2013-02-26T09:52:35.963 に答える
0

これを行う最も安全な方法は、onclick がフォームを生成して郵送するリンクを使用することだと思います。例えば:

<a href="{{ path('your_delete_action', { 'id': object.id }) }}" 
   token="{{ token }}"
   data-method="POST"
   object-id ="{{ object.id }}">
   <span class="red"><i class="icon-remove"></i></span>
</a>

このリンクを onClick すると、フォームが生成され、deleteAction に送信されます。

// Every link with an attribute data-method
$("#container").on("click", "a[data-method]", function(event){
    event.preventDefault();

    var target = $(event.currentTarget);
    var method = target.attr('data-method');
    var action = target.attr('href');
    var token = target.attr('token');
    var objectId = target.attr('object-id');

    // Create a form on click
    var formulario = $('<form/>', {
        style:  'display:none;',
        method: method,
        action: action
    });

    formulario.appendTo(target);

    formulario.append("<input name='token' value='" + token + "' type='hidden'/>");
    formulario.append("<input name='id' value='" + objectId + "' type='hidden'/>");

    // Do submit
    formulario.submit();

});
于 2013-06-06T15:09:20.820 に答える