如何在yii2GridView使用弹出模态代码
在实际开发中,我们经常会遇到列表页面数据修改使用模态,如果一般循环显示,我相信大多数人看到模态的基本使用操作,但结合GridView估计,一些人开始吃了,我们来看看如何解决这个问题!
1、GridView的操作加{更新}按钮,指定的数据切换数据对象类和数据ID的值
{
类= > 'yii actioncolumn的网格,
模板>更新},
按钮{ { {
更新=函数(URL、模型、密钥){
返回HTML::一个更新,{(#。
数据切换' = > 'modal,
数据目标= >的#更新模型,
类= > 'data-update,
数据标识,
});
},
},
},
2。添加更新模式
< PHP
使用Yii 引导模态;
更新操作
模式::开始(
ID = > 'update-modal,
页眉>更新,
页脚= > '关闭',
});
requestupdateurl美元=网址::toroute(更新);
updatejs美元= < << JS
$(数据更新),(听到咔哒声,函数()){
美元。得到({ $ requestupdateurl },{编号:$(this)。最近(TR)。数据(关键的)},
函数(数据){
$(模态体)。Html(数据);
}
);
});
js;
美元-> registerjs($ updatejs);
模式::结束();
>
三.修改我们的更新方法
公共功能actionupdate($id)
{
模式=美元美元-> findmodel($id);
如果(元模型->负荷(Yii::应用程序->请求->美元后())$模型->保存()){
返回这个->重定向({ 'index});
{人}
返回这个-> renderajax(更新,
模型= $模型,
});
}
}
可以看出,从我们以前所说的基本用法来看,在整个过程中没有什么区别,但这是没有止境的,相信大多数人可能会遇到以下最常见的一些最困难的问题:
为什么使用select2在yii2模态为什么搜索框是不是搜索
yii2单页多模态为什么页面会共用一个,所以数据加载完成
yii2,单页,多模态,采用单页添加和更新我们的顶部的GridView,我们使用模态为例。使用select2时,为什么更新select2失败吗
让我们来看看如何逐一解决这些问题:
首先,你只需要指定该选项时使用TabIndex模态开始是错误的,如下:
模式::开始(
/……
选项{ {
'tabindex'= > false
},
});
第二和第三个问题都是由一个页面中的多个模态引起的。为了说明问题,我们在创建按钮和列表中的更新按钮使用模态。根据我们如何使用弹出模态(基本使用),本文在我yii2,首要的问题是显而易见的
$(模态体)。Html(数据);
在我们第一次使用模态之后,得到的模态被分配给所有模态体,这样当我们使用其他模态以后,我们将在数据被请求之前显示相同的内容的错误:
$(#创造),(听到咔哒声,函数()){
('url美元。得到的,{ },
函数(数据){
$(#创建模态)。找到('。模态的身体)Html(数据);
Html(数据);
}
);
});
$(数据更新),(听到咔哒声,函数()){
美元。得到({ $ requestupdateurl },{编号:$(this)。最近(TR)。数据(关键的)},
函数(数据){
$(#更新模式)。找到('。模态的身体)Html(数据);
Html(数据);
}
);
});
看最后一个问题,谁使用select2学生应该注意它!!!
如果我们以实例介绍了本课题的形式将导致select2 select2只有{创建}是正常的,和隐藏的影响当更新select2。
这实际上是由对应于相同的页ID。解决这一问题的相同select2造成的,我们只需要在数据删除所有现有的表单项异步请求。看到具体的实现:
$(#创造),(听到咔哒声,函数()){
多模态select2 / /避免问题
删除表单窗体上的异步加载
$(文档资产净值表);
美元。得到({ $ requesturl },{ },
函数(数据){
$(#创建模态)。找到('。模态的身体)Html(数据);
}
);
});
$(数据更新),(听到咔哒声,函数()){
多模态select2 / /避免问题
删除表单窗体上的异步加载
$(文档资产净值表);
美元。得到({ $ requestupdateurl },{编号:$(this)。最近(TR)。数据(关键的)},
函数(数据){
$(#更新模式)。找到('。模态的身体)Html(数据);
}
);
});
以上是yii2的整体描述,并结合GridView控件如何使用弹出模态代码,我希望它能帮助你。如果你有任何问题,请给我留言,萧边会及时给您回复。谢谢您支持网站。