我创建了一个jquery来在创建新预订时显示模式窗口,并且它工作得很好。 但我在定义更新操作的 url 时遇到了一些麻烦(它根据 id 有动态 url)。我在这部分定义了错误的网址:
$.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')); }); });
这是 ReservationController 中的 ActionUpdate:
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,
]);
}
}
预订索引.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>
那么我应该如何解析模型中的 id 参数到 URL 呢?
最佳答案
获取 Javascript 的 id 变量:-
$(document).on('click','.fc-day-grid-event',function(){
var id = $(this).attr('id');
$.get('reservation/update',{id : id}, function(data)
{
$('#modal').modal('show')
.find('#modalContent')
.html(data);
});
});
关于javascript - Yii2 更新操作 JQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33342804/