问答

layui 的两个问题,一直搞不定,求解!

作者:admin 2021-05-14 我要评论

一、如何初始化upload加入之前上传图的信息: 例如我之前把上传的几张图片的文件名存入了数据库,然后当我编辑时,如何把这几张图在upload.render时初始化成已经...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

一、如何初始化upload加入之前上传图的信息:
例如我之前把上传的几张图片的文件名存入了数据库,然后当我编辑时,如何把这几张图在upload.render时初始化成已经上传成功的图片?
二、当我用如:

for (var i=0;i<imgsarr.length;i++)
var TR = $([
  '<tr id="'+dq_id+'">', 
  '<td><img style="max-width:180px;" src="' + imgsrc(imgsarr[i]) + '" alt="' + imgsarr[i] + '" class="layui-upload-img"></td>', 
  '<td>原报价图</td>', 
  '<td>原报价图</td>', 
  '<td>原报价图</td>', 
  '<td><button type="button" class="layui-btn layui-btn-mini Up" id="Up'+dq_btn+'">上移</button>', 
    '<button type="button" class="layui-btn layui-btn-mini Down" id="Down'+dq_btn+'">下移</button>', 
    '<button type="button" class="layui-btn layui-btn-mini layui-btn-danger Del" id="Del'+dq_btn+'">删除</button></td>', 
  '</tr>'].join(''));

  TR.on("click",".Up",function(){
    var prevTR = TR.prev();
    if (prevTR) {
      prevTR.insertAfter(TR);
    }
    layer.msg('上移');
  });
  
  // ...
  
  $('#List').append(TR);
}

事件只有循环最后一次加载成功,之前的都不能加载成功,应该是组件未加载时不能配事件吧,但是如何搞定呢,求大神指点!

###

问题一,就是使用img标签渲染即可,和你上面拼接的方法差不多

问题二,你说的事件看上去应该是每次都成功了。因为你每次的节点是对的。那么考虑两种方法

  1. 事件内部使用this,而不是TR
  2. 使用事件委托而不是直接绑定事件
###
 TR.on("click",".Up",function(){
    layer.msg(i);//绑定后,这个i所有的事件都是i循环最后的那个值
  });

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • 请问下prometheus怎么进行自定义的按业

    请问下prometheus怎么进行自定义的按业

  • 节流函数为什么,点击无效,监听窗口大

    节流函数为什么,点击无效,监听窗口大

  • express访问静态资源失败

    express访问静态资源失败

  • IE 浏览器下 match 方法报错

    IE 浏览器下 match 方法报错

腾讯云代理商
海外云服务器