$('.layui-table-tips').remove();
layui.event.call("#edit_prvId", 'form', 'select(geteditCity)', data);
第一个参数为省份下拉框id , 第二个参数为表单的意思
第三个参数为表单的下拉框监听,且监听 lay-filter为 geteditCity的下拉框
第四个参数为触发监听时,传过去的 数据对象
layui.onevent(modName, events, callback) 用于自定义的模块事件。
layui.event(modName, events, params) 用于执行模块事件,包括自定义的模块,像之前的主动触发下拉框监听即可用此方法。此方法用处很多,之后在研究。
//下拉监听
form.on('select(geteditCity)', function (data) {
console.log(data.elem); //得到select原始DOM对象
console.log(data.value); //得到被选中的值
console.log(data.othis); //得到美化后的DOM对象
$("#edit_cityId").html("");
//默认data为选择下拉框item的value
var id = data.value;
//主动触发传过来的数据格式不一样
if (data.prvId != undefined) {
id = data.prvId;
} else if (data.PrvId == "") {
return;
}
//获取城市列表
$.ajax({
url: apiUrl + '/api/facechat/manage/v1/citinfo/citylist?prvId=' + id,
type: 'get',
cache: false,
success: function (res) {
if (res) {
//数据格式化
$.each(res, function (i, item) {
$("#edit_cityId").append("");
});
if (data.prvId != undefined) {
$("#edit_cityId").val(data.cityId);
}
form.render();
}
},
error: function (result) {
}
});
});
$("p").on("click",function(){
alert("段落被点击了。");
});
on() 方法在被选元素及子元素上添加一个或多个事件处理程序。
注意:使用 on() 方法添加的事件处理程序适用于当前及未来的元素(比如由脚本创建的新元素)。
语法
$(selector).on(event,childSelector,data,function)
参数 描述
event 必需。规定要从被选元素移除的一个或多个事件或命名空间。由空格分隔多个事件值,也可以是数组。必须是有效的事件。
childSelector 可选。规定只能添加到指定的子元素上的事件处理程序(且不是选择器本身,比如已废弃的 delegate() 方法)。
data 可选。规定传递到函数的额外数据。
function 可选。规定当事件发生时运行的函数。
定义和用法
data-* 属性用于存储私有页面后应用的自定义数据。
data-* 属性可以在所有的 HTML 元素中嵌入数据。
data-* 属性由以下两部分组成:
属性名不要包含大写字母,在 data- 后必须至少有一个字符。
该属性可以是任何字符串
注意: 自定义属性前缀 "data-" 会被客户端忽略。
通过class 或 标签名 或 id 找到这些 想要统一管理的按钮,然后动态监听 click方法,
$('.pageContent .btn, .demoTablesttr .layui-btn').on('click', function () {
//得到这些按钮 的自定义属性 type的值
var type = $(this).data('type');
//根据值去找对应的方法,统一在 active中
active[type] && active[type].call(this);
});
//active 示例如下:
active = {
reload: function () {
、、
},
getCityList: function () {
、、
},
batchSetUseType: function () {
、、
}
};