<button
type="button"
class="btn btn-small btn-danger icon-trash"
data-request="onDeleteItem"
data-control="popup"
data-request-data="id: " <<<<<<<----
data-trigger-action="enable"
data-stripe-load-indicator>
</button>
Configurations.php::controller
中的
public function onDeleteItem()
如何在列表中获取id的值?我想列出表中的所有配置,有自定义列,编辑,删除
我想点击删除,然后它会删除该项目,但我如何获取ID?
答案 0 :(得分:3)
我使用过这个(从RainLab.Blog插件中引用)并且它完美地运行:
<button
class="btn btn-default oc-icon-trash-o"
disabled="disabled"
onclick="$(this).data('request-data', {
checked: $('.control-list').listWidget('getChecked')
})"
data-request="onDelete"
data-request-confirm="Are you sure?"
data-trigger-action="enable"
data-trigger=".control-list input[type=checkbox]"
data-trigger-condition="checked"
data-request-success="$(this).prop('disabled', false)"
data-stripe-load-indicator>
Delete all selected
</button>
你可以看到它在onClick
处理程序中使用jQuery获取所有已检查的ID并将其传递给控制器。
然后在你的控制器中你可以这样做:
public function index_onDelete()
{
if (($checkedIds = post('checked')) && is_array($checkedIds) && count($checkedIds)) {
foreach ($checkedIds as $modelId) {
if ((!$model = Model::find($modelId)))
continue;
$model->delete();
}
Flash::success('Successfully deleted those items.');
}
return $this->listRefresh();
}
请务必将model
替换为您的实际型号&#39;。控制器方法名称上的index_
前缀可确保我们在索引上下文中显示onDelete
(显示模型列表的位置)。
答案 1 :(得分:0)
如果它在控制器的行动中
<?= $this -> id ?>
应该有效。或者你可以做类似
的事情<?php
$isDelete = $this->formGetContext() == 'delete';
?>
初始化它,然后将其用作
data-request-data="id: <?= (int) $isDelete ?>"
见here