ajax октябрь передавая значение id

 <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()

Как я могу получить значение идентификатора в списке? Я хочу, чтобы список всех конфигов в таблице, иметь пользовательский столбец, Редактировать, Удалить

Я хочу нажать «Удалить», после чего элемент будет удален, но как мне получить идентификатор?

1

Решение

Я использовал это (по ссылке из плагина 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>

Вы можете видеть, что это использует jQuery в onClick Обработчик получает все проверенные идентификаторы и передает их контроллеру.

Тогда в вашем контроллере вы можете сделать это:

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 с вашей фактической «моделью». index_ префикс в имени метода контроллера гарантирует, что мы ссылаемся на onDelete в контексте индекса (где отображается список ваших моделей).

2

Другие решения

Если это в рамках действия контроллера, то

<?= $this -> id ?>

должно сработать. Или вы можете сделать что-то вроде

<?php
$isDelete = $this->formGetContext() == 'delete';
?>

чтобы инициализировать его, а затем использовать его как

data-request-data="id: <?= (int) $isDelete ?>"

Как видно Вот

0

По вопросам рекламы [email protected]