layui 常用操作
一、index(管理)页面
1.渲染数据表格
html:
js:
table.render({
elem:'#demo'
,url:'{$site_url}/admin/index.php?app=coupon&act=coupon_getAll'
,limits: [20,40,60,80]
,limit:20
,cols: [[
// { type: 'checkbox' }
{field:'coupon_id',title:'优惠券id',sort:true}
, {field:'store_name',title:'店铺名称'}
, {field:'store_id',title:'店铺id',hide:true}
, {field:'coupon_name',title:'优惠券名称'}
, {field:'coupon_value',title:'优惠券金额'}
, {field:'reg_date',title:'开始时间'}
, {field:'end_time',title:'结束时间'}
, {field:'min_amount',title:'最小使用价格'}
, {field:'coupon_num',title:'优惠券数量'}
, {field:'number',title:'已领优惠券数量'}
, {field:'if_issue',title:'是否发布',templet:function(d) {if(d.if_issue==0) {return"否"; }else{return"是"} } }
, {fixed:'right',title:'操作',align:'center',toolbar:'#barDemo'}
]]
,page:true
});
//监听行工具事件
table.on('tool(demo)',function(obj) {
vardata=obj.data;
varflag=obj.event;
if(flag=='edit') {
layer.open({
type:1,
title:"修改品牌信息",
area: ['1000px','700px'],
content:$("#popUpdateTest"),//引用的弹出层的页面层的方式加载修改界面表单
maxmin:true,
offset: [0]
});
getStores("#stores");
coupon_id=data.coupon_id
console.log(coupon_id,123)
form.render('select');
setFormValue(obj,data);
}elseif(flag=='del') {
type="del";
layer.confirm('确定删除该产品吗?',function(index) {
//执行删除
console.log(index)
del(data.coupon_id);
layer.close(index)
location.reload();
})
}else{
$("#suretype").html("您确认要拒绝通过吗?")
layer.open({
type:1
,title:'拒绝通过'
,area: ['390px','160px']
,shade:0
,maxmin:true
,offset: [0]
,content:$("#examine")
});
brand_id=data.brand_id;
}
});
通过搜索按钮进行表格数据重载
//查询按钮
$(document).on('click','#ss',function() {//#ss为搜索按钮的id
varbrand=$("#brand_name");
varbrand_name=brand.val();
layui.use('table',function() {
vartable=layui.table;
table.reload('demo', {
url:'{$site_url}/admin/index.php?app=newstore&act=brand_list'
,where: {//设定异步数据接口的额外参数,任意设
brand_name,
}
,page: {
curr:1//重新从第 1 页开始
}
});
});
});
二、表单相关
1.通过jq赋值
//input的值
//获取:
vartag_name=$("#couponAddName").val()
//使,下拉框的option的value为xx的被选中
$("#all_scategory option[value="+store_data.cate_id+"]").prop("selected",true);
//给日期输入框赋值,赋值必须按照这种格式才能成功“2019-08-07”
document.getElementById("myDate").value="2019-08-07";
//单选框赋值/取值
$("input:[type='radio']").attr("checked",true);
$("input:[type='radio']").val()
//jq的属性赋值,可以用在img标签上
$("#now_img ").prop("src","{$site_url}"+"/"+data.brand_logo);
//多选框赋值
1.获取单个checkbox选中项(三种写法):
$("input:checkbox:checked").val()
或者
$("input:[type='checkbox']:checked").val();
或者
$("input:[name='ck']:checked").val();
2.获取多个checkbox选中项:
$('input:checkbox').each(function() {
if($(this).attr('checked')==true) {
alert($(this).val());
}
});
3.设置第一个checkbox为选中值:
$('input:checkbox:first').attr("checked",'checked');
或者
$('input:checkbox').eq(0).attr("checked",'true');
4.设置最后一个checkbox为选中值:
$('input:radio:last').attr('checked','checked');
或者
$('input:radio:last').attr('checked','true');
5.根据索引值设置任意一个checkbox为选中值:
$('input:checkbox).eq(索引值).attr('checked', 'true');索引值=0,1,2....
或者
$('input:radio').slice(1,2).attr('checked','true');
6.选中多个checkbox:
同时选中第1个和第2个的checkbox:
$('input:radio').slice(0,2).attr('checked','true');
7.根据Value值设置checkbox为选中值:
$("input:checkbox[value='1']").attr('checked','true');
8.删除Value=1的checkbox:
$("input:checkbox[value='1']").remove();
9.删除第几个checkbox:
$("input:checkbox").eq(索引值).remove();索引值=0,1,2....
如删除第3个checkbox:
$("input:checkbox").eq(2).remove();
10.遍历checkbox:
$('input:checkbox').each(function(index,domEle) {
//写入代码
});
11.全部选中
$('input:checkbox').each(function() {
$(this).attr('checked',true);
});
12.全部取消选择:
$('input:checkbox').each(function() {
$(this).attr('checked',false);
});
2.表单赋值**
//日期表单
laydate.render({
elem:'#test'
,value:'2017-09-10'
,isInitValue:false//是否允许填充初始值,默认为 true
})
//其他表单
//name:value
functionsetFormValue(data) {//data是数据表格的toolbar按钮的obj.data
//表单初始赋值
form.val('example', {
"modules1":data.store_id
,"Coupon_name":data.coupon_name//
,"Coupon_money":data.coupon_value//优惠券金额
/* ,"test6": "data.reg_date+' - '+data.end_time"//优惠券时间 */
,"minPrice":data.min_amount//最小使用价格
,"release":data.if_issue//是否发布
,"Coupon_num":data.coupon_num//优惠券数量
})
}
3.获取form表单的值
请注意:如果不加载form模块,select、checkbox、radio等将无法显示,并且无法使用form相关功能
required:注册浏览器所规定的必填字段
lay-verify:注册form模块需要验证的类型
class="layui-input":layui.css提供的通用CSS类
html:
js
form.on('submit(btnSubmit)', function (data) {
//表单数据formData
var formData = data.field;
});
4.表单的事件监听
具体语法:form.on('event(过滤器值)',callback);
可以用于监听:select,checkbox,switch,radio,submit的改变
一、监听select的改变