$.each(data, function(n, value){
if(n=='data'){
$.each(value, function(n, param){
var orderCode = param.orderCode; //订单编号
var orderStatus = param.status; //订单
var lists = param.orderItemCommandList;//购买数量
var status = param.status; //订单状态
var num; //sku num
var price; // sku 单价
var title; //商品名称
var payment = param.payment;//实付金额
var propName ;//sku name
var imageUrl;
var orderText;//、未付款、未发货;初始化所有数据 付款阶段:2、已付款;更改付款时间,
// * 发货阶段:3未发货,4、已发货;更改发货时间、更新时间、物流名称、物流单号 成功阶段:5、已收货;更改更新时间,交易结束时间,买家留言,是否已评价
// * 关闭阶段:5、交易关闭; 更改更新时间,交易关闭时间。
if(status == 1){
orderText = "未付款";
}else if(status == 2 || status == 3){
orderText = "待发货";
}else if(status == 4){
orderText = "已发货";
}else{
orderText = "交易关闭";
}
//收货人信息
var receiverName = param.receiveAddress.receiverName;
var receiverPhone = param.receiveAddress.receiverPhone;
var idCard = param.receiveAddress.receiverIdNumber;
var addressDetail = param.receiveAddress.addressDetail;
$.each(lists, function(n, list){
num = list.num;
price = list.price;
title = list.title;
propName = list.propName;
imageUrl = list.imageUrl;
})
var div = "<div class='SerialNumber bottom-border'> <span class='left5'>订单…<span>"+orderCode+"</span></span>" +
"<span class='pull-right right10 ToBePaid'>"+orderText+"</span></div>" +
"<div class='row bottom-border SerialNumber `buy`' oc="+orderCode+" ><img src="+imageUrl+" class='img-responsive col-md-3 col-sm-3 col-xs-3'/>" +
"<div class='col-md-9 col-sm-9 col-xs-9'><span id='title'>"+title+"</span><br /> " +
"<small>规格:"+propName+"<small class='pull-right right10'>x"+num+"</small></small><br /><small>¥"+price+"</small> </div></div>";
var pubDiv ="<div class='SerialNumber bottom-border'><span class='left5'>合…<span>¥"+payment+"</span></span> " +
"<span class='pull-right multi-select'></span>" +
"<span class='pull-right multi-select'><span class='cancel'>取消支付</span><span class='support'>去支付</span></span></div>";
var payOK ="<div class='SerialNumber bottom-border'><span class='left5'>合…<span>¥"+payment+"</span></span> " +
"<span class='pull-right multi-select'></span></div>";
if(status == 1){
var append = $("#append").append(div).append(pubDiv)
}else{
var append = $("#append").append(div).append(payOK)
}
});
$('.buy').bind('click', function() {
var orderCode = $(this).attr("oc")
alert(orderCode)
$('.transit').hide();
$('.FastPayment').show();
$("#name").text(receiverName);
$("#phone").text(receiverPhone);
$("#addressDetail").text(addressDetail);
$("#idCard").text(idCard);
$("#orderCode").text(orderCode);
});
}
});`请输入代码`
我现在的问题是在点击.buy的时候需要获取当前选中的属性,比如orderCode ,num之类的属性值,有什么方法可以获取到呢
楼上不对吧。事件没有问题。他是先生成DOM然后再绑定事件。这是有效的,问题在于拼接字符串那里,没有把buy定义为class名称,注意buy
??这样。无法找到$(".buy")
"<div class='row bottom-border SerialNumber `buy`' oc="+orderCode+" >
var append = $("#append").append(div).append(pubDiv);
改为
var append = $("#append").append($(div)).append($(pubDiv));
前者塞进去的是字符串,后者塞进去的是DOM对象。
之后就可以正常用jquery取值了
你用的事件就不对,动态添加的按钮你那么写不会执行
$(document).on('click', '.buy',function() {
var orderCode = $(this).attr("oc")
alert(orderCode)
$('.transit').hide();
$('.FastPayment').show();
$("#name").text(receiverName);
$("#phone").text(receiverPhone);
$("#addressDetail").text(addressDetail);
$("#idCard").text(idCard);
$("#orderCode").text(orderCode);
});
$('div.buy').attr('oc')