У меня есть компонент для моего плагина в OctoberCMS.Я показываю данные моего ретранслятора с таблицей с кнопкой редактирования и удаления.Например, когда я нажимаю кнопку удаления для одного элемента, вызывается data-request = "onDeletePackage", а PHP удаляет этот элемент, и с помощью ajaxFramework таблица обновляется.
Но я хочу получить все данные и работать с ними,и, например, когда нажать кнопку «Удалить», элемент без запроса к серверу, а когда я нажимаю «Сохранить», данные заполнения ретранслятора.
Это мой код
//php code
public function onDeletePackage()
{
$packages = Session::get('packages');
if (post('id') !== null) {
$id = post('id');
unset($packages[$id]);
}
Session::put('packages', $packages);
$this->page['packages'] = $packages;
$this->page['service'] = new Service();
}
{% if packages %}
<table class="table table-hover dataTable" id="table2">
<tbody>
{% set cnt = 1 %}
{% for key,item in packages %}
{% if item.is_rejected ==false %}
<tr>
<td>{{ cnt }}</td>
<td>{{ item.receiver_postal_code }}</td>
<td>{{ item.receiver_address }}</td>
<td>{{ service.getPostType(item.post_type_id) }}</td>
<td>{{ service.getPackageType(item.package_type_id) }}</td>
<td>{{ item.package_number }}</td>
<td>{{ service.getWeight(item.weight_id) }}</td>
<td>
<a
href="#"
class="btn btn-default btnEdit"
data-toggle="modal"
data-target="#package-modal"
data-id="{{ key }}"
>
<i class="fa fa-edit"></i>
</a>
<a
href="#"
class="btn btn-default"
data-request="onPackageDelete"
data-request-data="id:{{ key }}"
data-request-update="'{{ __SELF__ }}::_packages':'.showPackages'"
>
<i class="fa fa-trash"></i>
</a>
</td>
</tr>
{% endif %}
{% set cnt = cnt + 1 %}
{% endfor %}
</tbody>
</table>
{% endif %}
<script type="text/javascript">
$(document).ready(function () {
$(".btnEdit").click(function () {
id = $(this).attr('data-id');
$("input[name='package_id']").val(id);
packages={{ packages|json_encode|raw }};
$("input[name='receiver_postal_code']").val(packages[id].receiver_postal_code);
$("input[name='receiver_address']").val(packages[id].receiver_address);
$("select[name='weight_id']").val(packages[id].weight_id).change();
$("select[name='post_type_id']").val(packages[id].post_type_id).change();
$("select[name='package_type_id']").val(packages[id].package_type_id).change();
$("select[name='insurance_type_id']").val(packages[id].insurance_type_id).change();
$("select[name='distribution_time_id']").val(packages[id].distribution_time_id).change();
$("select[name='special_services_id']").val(packages[id].special_services_id).change();
$("input[name='package_number']").val(packages[id].package_number);
$('#package-modal').find('.modal-title').text('فرم ویرایش بسته');
});
$("#btn-newPack").click(function () {
$('#my-form')[0].reset();
$('span.select2-selection__rendered').text('انتخاب کنید');
$("input[name='package_id']").val("");
$('#package-modal').find('.modal-title').text('فرم ایجاد بسته جدید');
});
});
</script>