Javascript函数变量作用域问题

Javascript函数变量作用域问题,javascript,jquery,javascript-events,Javascript,Jquery,Javascript Events,我有以下Javascript函数: $('div[id^="event"]').each(function( index ) { fullID = $(this).attr('id'); object = $(this); idOnly = fullID.replace( /^\D+/g, ''); var jqxhr = $.ajax({ type: 'POST', url: '/welcome', data: {

我有以下Javascript函数:

    $('div[id^="event"]').each(function( index ) {
    fullID = $(this).attr('id');
    object = $(this);
    idOnly = fullID.replace( /^\D+/g, '');
    var jqxhr = $.ajax({
    type: 'POST',
    url: '/welcome',
    data: { 
        'lat': lat, 
        'lon': lon ,
        'eventID': idOnly
    },
    success: function(msg){
        object.show();

  }
});

});
我想让这段代码执行以下操作:

对于每个id以event开头的div id,获取div元素id的数字部分(例如,可以有一个id为“event39410”)—因此获取“39410”片段—将其与2个变量一起发送到AJAX服务—当响应返回时,显示id为“event39410”的div

ajax组件工作得很好-但是问题是,如果我有10个这样的事件标记,我会得到10个对后端的ajax调用,但我只显示最后一个“event”div-这表明在调用success函数时,对象总是引用循环中的最后一个条目


有人能帮我解决这个变量范围问题吗?

在这3个全局变量前面需要
var

$('div[id^="event"]').each(function( index ) {
    var fullID = this.id;
    var object = $(this);
    var idOnly = fullID.replace(/^\D+/g, '');
    var jqxhr = $.ajax({
        type: 'POST',
        url: '/welcome',
        data: { 
            'lat': lat, 
            'lon': lon ,
            'eventID': idOnly
        },
        success: function(msg){
            object.show();

        }
    }); 
});

繁荣不同语言之间的切换太多了!非常感谢。