javascript - layer弹层获取弹层里的数据

查看:140
本文介绍了javascript - layer弹层获取弹层里的数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

现在要获取弹层里面元素的值 这个值是后期点击的时候 添加到弹层上面的
弹层里面 是看到值已经添加上去了

但是 就是后面的select方法获取到的值只能第二次点击才能获取到 第一次 始终获取到的是之前没有改变的值

还有 我在layer.open之后 写个方法 执行了一个alert 这个始终会在layer弹出之前弹出 怎么回事 放在success:里面 也是先执行 方法

$('tbody').on('click','.edit',function(){
    $.get("Cate/getCateById",{id:$(this).attr('val')},function(data){
            $('.select-title span').attr('data-val',data.pid);
            $('.select-title span').text(data.pname);
    })
    layer.open({
         area: ['60%', '80%'],
          type: 1,
          title: false,    
          shift: 2,
          content: $('#add'),
        });
    select();
})

function select(){
    var selval=$(".select-title").find("span").attr('data-val');
    var seltxt=$(".select-title").find("span").text();
    $('#form').append("<select style='display: none;' name='pid'><option value='"+selval+"' selected>"+seltxt+"</option></select>");
}

html代码部分

<div id='add' style='display:none;'>
<div class="main">
<form id='form'>
    <div class="short-input select ue-clear">
        <label>所属分类:</label>
        <div class="select-wrap">
            <div class="select-title ue-clear"><span data-val='0'>顶级分类</span><i class="icon"></i></div>   
        </div>
    </div>
    </form>
</div>

解决方案

jqueryajax 默认是异步的, 所以你只能在成功的回调里对获取的数据进行处理。
下面是改过后的代码,你试试:

$('tbody').on('click', '.edit', function() {
  $.get("Cate/getCateById", { id: $(this).attr('val') })
    .then(function(data) {
      $('.select-title span').attr('data-val', data.pid);
      $('.select-title span').text(data.pname);
      open()
    })

})

function open() {
  layer.open({
    area: ['60%', '80%'],
    type: 1,
    title: false,
    shift: 2,
    content: $('#add'),
  });
  select();
}

function select() {
  var selval = $(".select-title").find("span").attr('data-val');
  var seltxt = $(".select-title").find("span").text();
  $('#form').append("<select style='display: none;' name='pid'><option value='" + selval + "' selected>" + seltxt + "</option></select>");
}

这篇关于javascript - layer弹层获取弹层里的数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆