如何更改将通过服务器响应更新的元素(标记)。
这是我的表格
def get_mode
if @mode_timeout.nil? or @mode_timeout < Time.now
@mode = ModeModel.first.mode
@mode_timeout = Time.now + 60.seconds
end
@mode
end
基本上所有<div id="test" class="modal fade bs-example-modal-sm" tabindex="-1" role="dialog" aria-labelledby="mySmallModalLabel">
<div class="modal-dialog modal-sm">
<div class="modal-content">
<div class="modal-header">ورود به سایت</div>
<?php
\yii\widgets\Pjax::begin(['enablePushState'=>FALSE]);
$loginModel=new \common\models\LoginForm();
$form=\yii\bootstrap\ActiveForm::begin([
'id'=>'form-login',
'options'=>['data-pjax'=>''],
'method'=>'post',
'action'=>['site/login'],
]);
echo $form->field($loginModel, 'username')->textInput()->label('نام کاربری');
echo $form->field($loginModel, 'password')->passwordInput()->label('رمز عبور');
echo $form->field($loginModel,'captchaLogin')->widget(yii\captcha\Captcha::className(),[
'attribute'=>'captchaLogin',
'captchaAction'=>'site/captchaLogin',
'id'=>'captchaLogin',
])->label('کد امنیتی');
?>
<div style="color:#999;margin:1em 0">
برای یادآوری رمز عبور <?= \yii\helpers\Html::a('اینجا کلیک کنید', ['site/request-password-reset']) ?>.
</div>
<div class="form-group">
<?= \yii\helpers\Html::submitButton('ورود', ['class' => 'btn btn-primary', 'name' => 'login','value'=>'ورود']) ?>
</div>
<div id="my"></div>
<?php
\yii\bootstrap\ActiveForm::end();
\yii\widgets\Pjax::end();
?>
</div>
</div>
</div>
内容都按新内容更新。我希望将所有回复推送到<div id=#test></div>
标签,而不是更新anothers。
答案 0 :(得分:0)
您可以使用 pjax:beforeReplace 方法并推送<div id="my"></div>
中的所有内容,而不是<div id=#test></div>
。
对于Ex。
$(function(){
$('#test').on('pjax:beforeReplace',function(contents, options){
$('#my').html(contents);
});
});
您的js代码可能如下所示。