Php 如何在yii2的模式窗口中使用pjax更新小部件
我在一个模态窗口中有两个ActiveForms,在提交第一个表单后,我需要更新第二个表单并保持模态状态 据我所知,pjax可以处理这个问题,但无法让它正常工作 在_form.php中,我有一个带有小部件的ActiveForm,应该更新它:Php 如何在yii2的模式窗口中使用pjax更新小部件,php,ajax,yii2,pjax,active-form,Php,Ajax,Yii2,Pjax,Active Form,我在一个模态窗口中有两个ActiveForms,在提交第一个表单后,我需要更新第二个表单并保持模态状态 据我所知,pjax可以处理这个问题,但无法让它正常工作 在_form.php中,我有一个带有小部件的ActiveForm,应该更新它: //需要更新这个小部件吗 然后我有一个Ajax请求,如果创建了新的解决方案,它将返回成功: $.ajax({ url:form.attr('action'), 键入:“post”, 数据:form.serialize(), 成功:功能(数据){ if(d
//需要更新这个小部件吗
然后我有一个Ajax请求,如果创建了新的解决方案,它将返回成功:
$.ajax({
url:form.attr('action'),
键入:“post”,
数据:form.serialize(),
成功:功能(数据){
if(data&&data.result==1){
$.pjax.reload({container:'#solutionItems'});
}
},
错误:函数(XMLHttpRequest、textStatus、errorshown){
$(“#error”).html(“Kļūda!Neizdevās pievienot ierakstu.”).fadeIn('highlight','',2000,callbackError());
$(“#解决方案”).val(“”);
}
});
但是
$.pjax.reload({container:'#solutionItems'});
关闭模式。
如果我将返回值放在div中,那么ajax工作正常,模式不会关闭。Managed without$.pjax,只是添加了这个
$("#risks-solutions_order-sortable").append('<li data-id="'+data.id+'" data-key="'+data.id+'" draggable="true">'+data.solution+'</li>');
$("ul[id$='sortable'").trigger('sortupdate');
$('#risks-solutions_order-sortable').sortable( "refreshPositions" );
$(“#risks-solutions_order-sortable”).append(““+data.solution+” ”);
$(“ul[id$='sortable')。触发器('sortupdate');
$(“#风险-解决方案_订单-可排序”)。可排序(“刷新头寸”);
在ajax中,一切正常!:)增加/禁用超时可能有助于解决此问题
$.pjax.reload('solutionItems',{timeout:false});
您可以在这里找到更多详细信息:您现在知道如何使用pjax吗?@Ruben不知道,但在我通过jquery管理pjax之后,我不会探索更多的pjax。