为什么表单不显示?当你使用表单时,Layui会对select、checkbox、radio等原始元素隐藏,从而进行美化修饰处理。但这需要依赖于form组件,所以你必须加载 form,并且执行一个实例。值得注意的是:导航的Hover效果、Tab选项卡等同理(它们需依赖 element 模块)
1 layui.use('form', function(){
2 var form = layui.form; //只有执行了这一步,部分表单元素才会自动修饰成功
3
4 //……
5
6 //但是,如果你的HTML是动态生成的,自动渲染就会失效
7 //因此你需要在相应的地方,执行下述方法来手动渲染,跟这类似的还有 element.init();
8 form.render();
9 });
layui数据表格可以设置宽度为百分比:
根据设置每一列的百分比宽度来进行设置,不过遇到过一个页面,设置列宽百分比之后所有的列都变得挤到一起,而且上下不齐,经检查:
因为在表格中设置了宽度为 'full' 这在当前版本是不识别的,需要所以下面设置的百分比也出问题了。
表单
layui的弹出层失效的问题
加上在ajax后加上return false可以用了
原来的代码:
1 <script>
2 $('form').submit(function() {
3 if($("#newname").val().length<2){
4 layui.use('layer', function() {
5 var layer = layui.layer;
6 layer.alert('姓名最少2个字符', {
7 skin: 'layui-layer-lan'
8 ,closeBtn: 0
9 ,anim: 4 //动画类型
10 });
11 });
12 return false;
13 }
14
15
16 $.ajax({
17 url: '<%=basePath%>/personal/msg/editname',
18 type : 'POST',
19 data : {
20 id:$('#id').val(),
21 name:$('#newname').val(),
22 },
23 async: false,
24 datatype:'json',
25 success : function(returndata) {
26 tanchuclose();
27 layui.use('layer', function() {
28 var layer = layui.layer;
29 layer.alert(returndata.msg, {
30 skin: 'layui-layer-lan'
31 ,closeBtn: 0
32 ,anim: 4 //动画类型
33 });
34 });
35
36 },
37 error : function(returndata) {
38 layui.use('layer', function() {
39 var layer = layui.layer;
40 layer.alert("ajax的error", {
41 skin: 'layui-layer-lan'
42 ,closeBtn: 0
43 ,anim: 4 //动画类型
44 });
45 });
46 tanchuclose();
47 }
48 });
49 });
50 </script>
修改后可以弹出的代码:
<script>
$('form').submit(function() {
if($("#newname").val().length<2){
layui.use('layer', function() {
var layer = layui.layer;
layer.alert('姓名最少2个字符', {
skin: 'layui-layer-lan'
,closeBtn: 0
,anim: 4 //动画类型
});
});
return false;
}
$.ajax({
url: '<%=basePath%>/personal/msg/editname',
type : 'POST',
data : {
id:$('#id').val(),
name:$('#newname').val(),
},
async: false,
datatype:'json',
success : function(returndata) {
tanchuclose();
layui.use('layer', function() {
var layer = layui.layer;
layer.alert(returndata.msg, {
skin: 'layui-layer-lan'
,closeBtn: 0
,anim: 4 //动画类型
});
});
},
error : function(returndata) {
layui.use('layer', function() {
var layer = layui.layer;
layer.alert("ajax的error", {
skin: 'layui-layer-lan'
,closeBtn: 0
,anim: 4 //动画类型
});
});
tanchuclose();
}
});
return false;
});
</script>
layui报错某个元素找不到
原因:laiyui中引用了没有声明的某个变量
layui中使用layer出问题,提示找不到
单独使用layer出问题,提示找不到
文档地址:http://www.layui.com/doc/modules/layer.html
1 layui.use('layer', function(){
2 var layer = layui.layer;
3
4 layer.msg('hello');
5 });
有些内容挤在一起,不能解析,分开就可以使用
1 <script>
2 layui.use('table', function(){
3 var table = layui.table;
4 var $ = layui.$;
5 var active = {
6 reload: function(){
7 var demoReload = $('#demoReload');
8
9 //执行重载
10 table.reload('idTest', {
11 page: {
12 curr: 1 //重新从第 1 页开始
13 },
14 where: {
15 name: demoReload.val()
16 }
17 });
18 }
19 };
20
21 $('.demoTable .layui-btn').on('click', function(){
22 var type = $(this).data('type');
23 active[type] ? active[type].call(this) : '';
24 });
25 });
26 </script>