2

このチュートリアルに従って、TODO リストの作成方法を学びました。ただし、リストからアイテムを削除する方法を説明せずに終了します。誰かがサンプルコードを投稿してもらえますか?

の内容は次のTodo\default.htmとおりです。

<script type="text/javascript" src="{{ ['assets/vendor/jquery.min.js']|theme }}"></script>
{% framework %}

<form 
    data-request="{{ __SELF__ }}::onAddItem" 
    data-request-success="$('#inputItem').val('')"
    data-request-update="'{{ __SELF__ }}::tasks': '#result'"
>
    <div class="panel panel-default">
        <div class="panel-heading">
            <h3 class="panel-title">Tasks assigned to: {{__SELF__.name}} </h3>
        </div>
        <div class="panel-body">
            <div class="input-group">
                <input name="task" type="text" id="inputItem" class="form-control" value=""/>
                <span class="input-group-btn">
                    <button type="submit" class="btn btn-primary">Add</button>
                </span>
            </div>  
        </div>
        <ul class="list-group" id="result">
            {% partial __SELF__ ~ '::tasks' tasks = __SELF__.tasks %}
        </ul>
    </div>
</form>

そしてtasks.htm部分的な内容:

{% for task in tasks %}
    <li class="list-group-item">
        {{ task }}
        <button class="close pull-right">&times;</button>
    </li>
{% endfor %}

todo リストから 1 つのタスクを削除する [X] ボタンが必要です。私の推測では、これを使用する必要があります。

{% for task in tasks %}
    <li class="list-group-item">
        {{ task }}
        <button class="close pull-right" data-request="{{ __SELF__ }}::onDeleteItem">&times;</button>
    </li>
{% endfor %}

id各項目の をonDeleteItem関数に渡す方法がわかりません。

4

2 に答える 2

0

[X] ボタンは以下を使用する必要があります。

  1. どのプロシージャを呼び出すかをphp ajaxハンドラに伝えるためのdata-request
  2. data-request-data を使用して、php ajax ハンドラーにどのデータを使用するかを指示します
  3. どの部分を更新するかを javascript ajax ハンドラーに伝える data-request-update

    <button 
      data-request="onDeleteItem" 
      data-request-data="deleteItem: '{{ task }}'" 
      data-request-update="'{{__SELF__}}::tasks': '#result'" 
      class="close pull-right">
      &times
    </button>
    

...そして、タスク変数の内容を見つけることができます

$taskToDelete=post('deleteItem');

于 2015-12-04T11:29:37.010 に答える