Comment mettre à jour le widget avec pjax dans la fenêtre modale dans yii2

J'ai deux ActiveForms dans une fenêtre modale et après la présentation de la première forme, j'ai besoin de mise à jour de deuxième et de rester en modal.

Comment mettre à jour le widget avec pjax dans la fenêtre modale dans yii2

Que je comprends pjax pouvez gérer tout cela, mais ne pouvez pas l'obtenir pour fonctionner correctement.

Dans _form.php j'ai ActiveForm avec widget qui doit être mis à jour:

    <?php $form = ActiveForm::begin([
    'id'=>'form',
    'enableAjaxValidation'=>true,
]); ?>
<?= Html::activeHiddenInput($riskModel, 'id', ['value' => $riskModel->id]) ?>

<?php Pjax::begin([
    'id' => 'solutionItems',
]) ?>
//need to update this widget
    <?= $form->field($riskModel, 'solutions_order')->widget(SortableInput::classname(), [
        'items' => $riskModel->getSolutionList(),
        'hideInput' => false,
        'options' => ['class'=>'form-control', 'readonly'=>false]
    ]); ?>
<?php Pjax::end() ?>

<div class="form-group">
    <?= Html::submitButton($riskModel->isNewRecord ? 'Create' : 'Update', ['class' => $riskModel->isNewRecord ? 'btn btn-success' : 'btn btn-primary', 'onclick' => 'return isConnected()']) ?>
</div>

<?php ActiveForm::end(); ?>

Et puis j'ai une requête Ajax qui renvoie succès si une nouvelle solution est créé:

            $.ajax({
            url: form.attr('action'),
            type: 'post',
            data: form.serialize(),
            success: function (data) {
                if (data && data.result == 1) {
                    $.pjax.reload({container:'#solutionItems'});
                }
            },
            error: function (XMLHttpRequest, textStatus, errorThrown) {
                $("#error").html("Kļūda! Neizdevās pievienot ierakstu.").fadeIn('highlight','', 2000, callbackError());
                $("#solutions-solution").val("");
            }
        });

Mais

    $.pjax.reload({container:'#solutionItems'});

ferme modal 🙁
Si je mets la valeur de retour dans la div, puis ajax fonctionne correctement et modal n'est pas de clôture.

OriginalL'auteur Kristīne Glode | 2015-02-23