layui 使用问题合集(asp.net后台)

  1. 如何调用layui.use()内部定义的函数?
    在定义函数的时候,使用window.funcName = function(){}; 的方法定义函数。
  2. 加载页面后为form表单赋值
    如果使用了layui-form,再使用jquery/js选择器的方式为文本框赋值是无效的,虽然赋值成功,但是界面上不显示结果。只能通过form.val(filter-name, object)的方式赋值。
  3. 将@viewbag 和 @model 的值写在引号中即可作为字符串赋值。
  4. select 标签不显示?
    出现这个问题首先确认你是否已经将在了form模块。因为Layui会对select、checkbox、radio等原始元素隐藏,从而进行美化修饰处理。但这需要依赖于form组件,所以你必须加载 form,并且执行一个实例。值得注意的是:导航的Hover效果、Tab选项卡等同理(它们需依赖 element 模块)。
    如果已经加载了form模块,却仍不显示,那么你的html代码是否是动态添加的呢?如果是动态添加,添加后需要重新渲染一下,添加一下代码即可:form.render()。
 $('#add').click(function () {
     
                layer.open({
     
                    type: 1,
                    anim: 1,
                    title: '新增',
                    offset: '20px',
                    area: '1000px',
                    content: $('#addquality').html()//动态添加的html代码
                });
                form.render();
            });

参考:https://blog.csdn.net/light_666/article/details/80205041

  1. laydate闪退?
    laydate 如果绑定的元素是非输入框,默认trigger是click,而输入框是focus。我的是input,出现了闪退问题,导致一直选不中日期,将trigger改为click即可。
  2. form ajax 提交后不执行success&&提交后迅速刷新?
    这个问题有两个解决办法,一是用div标签代替form标签,这样就不会出现提交迅速刷新问题,但是自然的,直接写在form标签里的属性就不能用了;二是加上return false 这句话,如下面所示(摘自官网):
form.on('submit(*)', function(data){
     
  console.log(data.elem) //被执行事件的元素DOM对象,一般为button对象
  console.log(data.form) //被执行提交的form对象,一般在存在form标签时才会返回
  console.log(data.field) //当前容器的全部表单字段,名值对形式:{name: value}
  return false; //阻止表单跳转。如果需要表单跳转,去掉这段即可。
});

具体的原因我不是太清楚,我猜想可能是本身在form标签里点击提交按钮就会提交一次导致的刷新吧,有知道的可以评论告诉我,非常感谢!

你可能感兴趣的:(layui,.Net)