Я создал jquery, чтобы показать модальное окно при создании нового резервирования, и он отлично работал. Но у меня есть некоторые проблемы с определением URL-адреса для действия обновления (у него есть динамический url в соответствии с id). И я определение URL неправильно в этой части:Yii2 Update Action JQuery
$.get('reservation/update',{'id'}, function(data)
Вот main.js:
$(function() {
$(document).on('click','.fc-day',function(){
var date= $(this).attr('data-date');
$.get('?r=reservation/create',{'date':date}, function(data)
{
$('#modal').modal('show')
.find('#modalContent')
.html(data);
});
});
$(document).on('click','.fc-day-grid-event',function(){
$.get('reservation/update',{'id'}, function(data)
{
$('#modal').modal('show')
.find('#modalContent')
.html(data);
});
});
$('#modalButton').click(function(){
$('#modal').modal('show')
.find('#modalContent')
.load($(this).attr('value')); }); });
Здесь вы ActionUpdate в ReservationController:
public function actionUpdate($id)
{
$model = $this->findModel($id);
if ($model->load(Yii::$app->request->post()) && $model->save()) {
return $this->redirect(['index']);
} else {
return $this->renderAjax('update', [
'model' => $model,
]);
}
}
Резервация Index.php
<?php
use yii\helpers\Html;
use yii\grid\GridView;
use yii\bootstrap\Modal;
$this->title = 'Reservations';
$this->params['breadcrumbs'][] = $this->title;
?>
<div class="reservation-index">
<h2> <?= Html::encode($this->title) ?></h2>
<br>
<?php
Modal::begin([
'header'=>'reservation',
'id'=>'modal',
'size'=>'modal-lg',
]);
echo "<div id='modalContent'></div>";
Modal::end();
?>
<?= \yii2fullcalendar\yii2fullcalendar::widget(array(
'events'=> $events,)); ?>
</div>
Так как я должен разобрать идентификатор параметра от модели к URL?
пытаются поставить идентификатор точно так же, как вы делали это на сегодняшний день. это попытка поместить его в 'data-id' attr элемента, имеющего класс' fc-day-grid-event', а затем извлечь его в событие click – vijayP