- 如何调用layui.use()内部定义的函数?
在定义函数的时候,使用window.funcName = function(){}; 的方法定义函数。 - 加载页面后为form表单赋值
如果使用了layui-form,再使用jquery/js选择器的方式为文本框赋值是无效的,虽然赋值成功,但是界面上不显示结果。只能通过form.val(filter-name, object)的方式赋值。 - 将@viewbag 和 @model 的值写在引号中即可作为字符串赋值。
- select 标签不显示?
出现这个问题首先确认你是否已经将在了form模块。因为Layui会对select、checkbox、radio等原始元素隐藏,从而进行美化修饰处理。但这需要依赖于form组件,所以你必须加载 form,并且执行一个实例。值得注意的是:导航的Hover效果、Tab选项卡等同理(它们需依赖 element 模块)。
如果已经加载了form模块,却仍不显示,那么你的html代码是否是动态添加的呢?如果是动态添加,添加后需要重新渲染一下,添加一下代码即可:form.render()。
$('#add').click(function () {
layer.open({
type: 1,
anim: 1,
title: '新增',
offset: '20px',
area: '1000px',
content: $('#addquality').html()//动态添加的html代码
});
form.render();
});
参考:https://blog.csdn.net/light_666/article/details/80205041
- laydate闪退?
laydate 如果绑定的元素是非输入框,默认trigger是click,而输入框是focus。我的是input,出现了闪退问题,导致一直选不中日期,将trigger改为click即可。 - form ajax 提交后不执行success&&提交后迅速刷新?
这个问题有两个解决办法,一是用div标签代替form标签,这样就不会出现提交迅速刷新问题,但是自然的,直接写在form标签里的属性就不能用了;二是加上return false 这句话,如下面所示(摘自官网):
form.on('submit(*)', function(data){
console.log(data.elem) //被执行事件的元素DOM对象,一般为button对象
console.log(data.form) //被执行提交的form对象,一般在存在form标签时才会返回
console.log(data.field) //当前容器的全部表单字段,名值对形式:{name: value}
return false; //阻止表单跳转。如果需要表单跳转,去掉这段即可。
});
具体的原因我不是太清楚,我猜想可能是本身在form标签里点击提交按钮就会提交一次导致的刷新吧,有知道的可以评论告诉我,非常感谢!