要使用layui的模块时,需先加载所需模块
layui.use (['form' ], function () {
var form = layui.form;
var $ = layui.$;
});
想要select值变更执行方法,不能用$('xxx').change(function)...
的方式,要使用layui定义的事件监听,例如
form. on ('select(filter)' , function(data ){
console. log (data . elem);
console. log (data . value);
console. log (data . othis);
});
执行一个方法,要更新表单中的数据时,要执行一步更新渲染,
form.render(); //更新全部 form.render(‘select’); //刷新select选择框渲染
form.on('select(level)' ,function (data) {
var level = $("#level" ).val();
$.ajax({
url:'../../baseManage/place/changeLevel.action' ,
type:'get' ,
data:{
level:level
},
dataType:'json' ,
success:function (data) {
if (data.status == 'SUCCESS' ) {
if (data.result != null && data.result != '' ) {
$.each(data.result,function (i, place) {
if (level == '01' ) {
}else if (level == '02' ) {
alert(place.name)
$('#firstLevelId' ).append('<option value="' +place.id+'">' +place.name+'</option>' );
alert('<option value="' +place.id+'">' +place.name+'</option>' )
}else if ('level == 02' ) {
$('#firstLevelId' ).append('<option value="' +place.id+'">' +place.name+'</option>' );
}
})
form.render('select' );
}
}
}
})
})
在使用layui的submit 异步提交监听时,一定要在最后加return false
form.on('submit(submitButton)' ,function (data) {
alert(JSON .stringify(data.field));
var maintenancePlace = JSON .stringify(data.field);
$.ajax({
url : '../../baseManage/place/create.action' ,
type : 'post' ,
dataType : 'json' ,
contentType :"application/json" ,
data : maintenancePlace,
success : function (data1) {
alert(11111111 )
}
})
return false ;
})
在一个js中引公共js中的方法时,需按如下格式定义:
layui.use(['form' ], function () {
var form = layui.form;
var $ = layui.$;
window.changeParentPlace = function (parentId,tagId) {
$.ajax({
url:'../../baseManage/place/changeParentPlace.action' ,
type:'get' ,
data:{
parentId:parentId
},
dataType:'json' ,
success:function (data) {
if (data.result != null && data.result.length != 0 ) {
$.each(data.result,function (i,place) {
$("#" + tagId).empty();
$("#" + tagId).append('<option value="' +place.id+'">' +place.name+'</option>' )
})
}
form.render('select' );
}
})
}
});
在方法前加window,即window.changeParentPlace = function (parentId,tagId)....
如何给兄弟页面赋值:通过index索引找到兄弟页面的元素赋值
$("#addButton" ).click(function () {
layer.open({
type: 2 ,
area: ['420px' , '400px' ],
fixed: false ,
maxmin: true ,
content: ctx + '/baseManage/worker/createpage' ,
title:'<div class="bpms_tit"><img src="../../images/images/ico_7.png"/> 维修工管理 >维修工增加</div>'
});
});
$("#typeName" ).click(function () {
parent.layer.open({
id:'create' ,
type: 2 ,
area: ['900px' , '600px' ],
fixed: false ,
maxmin: true ,
content: ctx + '/baseManage/worker/staffpage' ,
title:''
});
})
孙子页面(由子页面上的按钮点开,实际上是父页面下的子页面)
table.on('tool(dataTable)' , function (obj) {
var data = obj.data;
if (obj.event === 'choose' ){
alert(JSON .stringify(data));
==parent.layer.getChildFrame(‘#typeName’, 1).val(data.name);==
==parent.layer.getChildFrame(‘#telephone’, 1).val(data.mobile);==
var index = parent.layer .getFrameIndex (window.name )
parent.layer .close (index)
}
})
子页面的index为1,找到该页面上的选择器,然后赋值
注意:方法前都要加parent,parent为js中的全局变量