javascript - layer弹层获取弹层里的数据
本文介绍了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>
解决方案
jquery
的 ajax
默认是异步
的, 所以你只能在成功的回调里对获取的数据进行处理。
下面是改过后的代码,你试试:
$('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屋!
查看全文