1

尝试在十月 CMS 下创建一个组件,该组件创建一个 ToDo 列表(看这个视频)。添加项目工作正常,但现在我正在尝试设置 Ajax 处理程序以在单击按钮时删除一个元素。

这是html代码:

<form>

<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"
                    data-request="{{ __SELF__ }}::onAddItem"
                    data-request-success="$('#inputItem').val('')"
                    data-request-update="'{{ __SELF__ }}::tasks': '#result'"
                >Add</button>
            </span>
        </div>

        <ul class="list-group" id="result">
            {% partial __SELF__ ~ '::tasks' tasks=__SELF__.tasks removeId=__SELF__.removeId %}
        </ul>
    </div>
</div>

<form>

以及呈现任务列表的组件(命名任务)的代码:

{% if tasks|length > 0 %}
    {% for i in 0..tasks|length-1 %}

        <li class="list-group-item">
            {{ tasks[i] }}

            <button class="close pull-right"

                data request="{{ __SELF__ }}::onRemoveItem"
                data-request-success="console.log(data)"
            >
                &times;
            </button>
        </li>

    {% endfor %}
{% endif %}

最后是处理程序的代码(不要做太多):

public function onRemoveItem()
{
    return [
        'Name' => 'Federico';
    ];
}

现在,我设置了处理程序onRemoveItem,将其数据请求放在一个按钮中,如本页所述,单击按钮应该启动处理程序的执行,但这不会发生,而在插入任务的“添加”按钮中一切正常在数据库中。

有人可以解释我做错了什么吗?(如果有人想查看该页面,链接是http://afterlife.ddns.net/

编辑:

解决了,我只好在布局文件中链接框架js

4

0 回答 0