教程
-
微信支付JSAPI是否需要查询订单、关闭订单
我们首先看整个交易流程: 看「15、异步通知支付结果」,这个结果是来自微信支付系统,商户在需要做16.17这两步。 也就是需要保存微信发过来的$massage,并且返回成功给微信。 而微信官方对比关闭订单,是这样说的。 什么时候需要关闭订单? 微信支付在2020.10.10的文档中提到,以下情况需要调用关单接口: 商户订单支付失败需要生成新单号重新发起支付,…
-
Layui想给表格定义一列统计数据?可通过AJAX输出Return返回
昨天想在Layui的数据表格添加一列与ID对应的统计数据,折腾了几个小时,这里做一下记录。 一、多模型Haswhere 最开始我的需求是联查三个表,但是看了TP文档,Hasone只能有一个Haswhere,但是可以有多个with。 也就是可以展示多个绑定的数据,但是有且只能查询其中的两个,其他的不在查询条件内。 后来没办法只有用join来连表实现,代码如下:…
-
Layui switch Off状态下不向后台传值的解决办法
原生checkbox只有在checked状态时值才会被浏览器提交到后台,未checked时值不会被浏览器提交。 LayUI实际上也是checkbox,所以,在off状态下不提交到后台,是正常的。 解决办法 添加js监听开关组件,并对组件值做处理 在后台入库的地方做判断,如果没有传值,就设置is_show=0 其他解决办法 在checkbox的上一行加个hid…
-
Layui select获取自定义属性的值
HTML代码:
1234567891011<li class="layui-form"><div class="layui-form-item"><div class="layui-input-block"><select name="CountryId" lay-filter="CountryId_select"><option value="1" data-name="China">中国</option><option value="2" data-name="Cuba">古巴</option><option value="3" data-name="Russian Federation">俄罗斯</option></select></div></div></li>Layui代码:
1234form.on('select(CountryId_select)', function(data){var CountryId = data.value; //国家idvar CountryEn = $(data.elem).find("option:selected").attr("data-name"); //国家英文名}); -
Thinkphp遍历二维数组方法
123456789101112131415161718<div class="layui-card"><div class="layui-card-header">已备案项目</div><div class="layui-card-body"><!-- 遍历二维数组的信息 --><form class="layui-form" id="beianinfof" action="">{volist name="beianinfo" id="vo"}{volist name="vo['beian']" id="sub"}<!-- <a lay-href="{:url('index/beian/read', ['id' => $sub.id])}" class="layui-btn layui-btn-xs">{$sub.project_name}</a> --><button type="button" class="layui-btn layui-btn-xs beianinfo" id="beianinfo"data-type="beianinfo"project_id="{$sub.id}">{$sub.project_name}</button><br>{/volist}{/volist}</form></div></div> -
PHP7.2之后提示Warning: count(): Parameter must be an array or an object that implements Countable解决办法
出现这个错误的原因是,7.2版本之后的PHP版本更严谨,count传入非数组的变量会出现warning。
1Warning: count(): Parameter must be an array or an object that implements Countable网上很多人只说原因不说方法,可能是因为解决的办法过于简单,所以他们不屑于说。 比如原来的代码是:
1$this->success('成功删除'.count($id).'条数据');则可以改成:[crayon-67…
-
Layui延时执行刷新或关闭弹窗的正确写法
搜索了很多人的解答,但基本都是这样写的:
1234567layer.msg(d.msg, {icon: 1,time: 3000,shade: 0.4}, function () {location.href = "{:url('admin/index')}"});但是,这样写很可能执行不到,建议这样写:
1234567891011done: function(res){layer.msg(res.msg, {time: 2000,end: function () {console.log('updated');console.log('close');parent.layer.close(index);parent.location.reload();}});} -
用Thinkphp官方上传代码为什么失败?
因为TP6很多功能比较新,还没有系统的学习,所以一直用的是TP5。 最近在做一个后台管理程序,其中一个功能就是excel上传并导入数据,看文档抄代码的时候,发现官方文档给的代码会报错。 文档地址:https://www.kancloud.cn/manual/thinkphp5/155159 表单部分代码:[crayon-678ec635c8820117632…
-
Layui开发下拉框及单选框radio回显
首先是下拉框的回显
12345678910111213$("#worker").each(function () {// this代表的是<option></option>,对option再进行遍历$(this).children("option").each(function () {// 判断需要对那个选项进行回显if (this.value == 2 {console.log($(this).text());// 进行回显$(this).attr("selected", "selected");}});//必须刷新表单form.render('select');});其次是radio的单选框
123//将表单中的radio状态写到页面中$("input:radio[name=comefrom][value = 2]").prop("checked", true);form.render('radio'); -
Python自学Day65 解析动态内容
解析动态内容 根据权威机构发布的全球互联网可访问性审计报告,全球约有四分之三的网站其内容或部分内容是通过JavaScript动态生成的,这就意味着在浏览器窗口中“查看网页源代码”时无法在HTML代码中找到这些内容,也就是说我们之前用的抓取数据的方式无法正常运转了。解决这样的问题基本上有两种方案,一是JavaScript逆向工程;另一种是渲染JavaScrip…