功能很简单:送货地址的增删改,客户端使用 ajax ,增加的时候使用 ajax ,在 success 回调里根据服务器返回的数据添加新的收货地址,比如:
function addAddress(name, detail_address, email, phone_number
, province, city, region, address_id) {
var addressliHtml = '<li id=addr-li-' + address_id + '>'+
'<p><em class="name">' + name + '</em>(<em class="phone">' + phone_number + '</em>)</p>' +
' <p class="all-address">' + province + ' ' + city + ' ' + region + ' ' + detail_address + '</p>' +
'<p><em class="email">'+email+'</em></p>'+
'<p class="new_line"><br></p>' +
'<p class="address_action">' +
'<span><a href="#" class="edit float_none" id=edit-addr-' + address_id + '><i class="edit_icon"></i>修改</a></span>' +
'<span><a href="#" class="delete float_none" id=delete-addr-' + address_id + '><i class="delete_icon"></i>删除</a></span>' +
'</p>' +
'</li>';
$("#addresslist").prepend(addressliHtml);
}
这样显示上没问题,但是当点击 edit-addr-**的时候,获取对应的 address_id 却一直是固定的数字 2. 点击的事件是这样的:
$("#addresslist").on("click","a[id^=edit-addr-]", function (event) {
event.preventDefault();
//此处 address_id 一直获取不正确
var address_id = $(this).attr('id').split('-')[2];
});
表示非常不解,是中间哪个地方出问题了吗?
当然直接网页显示的地址,点击事件里获取 address_id 是没问题,只有 ajax 里动态添加的数据有问题。
哪位大神知道呢?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.