现在要获取弹层里面元素的值 这个值是后期点击的时候 添加到弹层上面的
弹层里面 是看到值已经添加上去了
但是 就是后面的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
默认是异步
的, 所以你只能在成功的回调里对获取的数据进行处理。下面是改过后的代码,你试试: