msg='1#北京市--北京国际中心,'2#北京市--A派公寓,'3#北京市--建外SOHO东区';
function insertmap(msg){
        var strs= new Array(); //定义一数组
   
        strs=msg.split(","); //字符分割   
        for(a=0;a<strs.length;a++){
   
  var id= new Array(); //定义一数组
   
           id=strs[a].split("#"); //字符分割  
   
  var strs1= new Array(); //定义一数组
   
           strs1=id[1].split("--"); //字符分割  
  var s = new BMap.LocalSearch('"'+strs1[0]+'"');
  var sa = new Array('"'+strs1[1]+'"');
  s.search(sa); 

  s.setSearchCompleteCallback(
     function SearchResult(){
var rs = s.getResults();
for (i=0; i<rs.length; i++)

                    alert(rs[i].getPoi(0).title+'--'+rs[i].getPoi(0).point.lng+'--'+rs[i].getPoi(0).point.lat);
   var lng=rs[i].getPoi(0).point.lng;
   var lat=rs[i].getPoi(0).point.lat;
   var ids=id[0];
   var url1='baiduajax1.php';
                   var data1='lng='+lng+'&lat='+lat+'&ids='+ids;
  
                   $.post(url1,data1,function(msg){
                     alert(msg);
   })
       }
   }
);    
  }
}
现在的问题是,如上三条记录,总是执行的最后一个'3#北京市--建外SOHO东区'前两个没有执行

解决方案 »

  1.   

    这是 js 问题
    应该发到 javascript 版面!
    哪里的高手多得很
      

  2.   

    $.post(url1,data1,function(msg){
                        alert(msg);
    },false);
    在最后加上false试试,问题应该是异步提交了数据,改成同步提交。
    还有
    var msg='1#北京市--北京国际中心,2#北京市--A派公寓,3#北京市--建外SOHO东区';
    这个定义的时候,是写错了,还是咋地了?怎么在当中加单引号了。。
      

  3.   

    解法一:页面会有停顿,多次的循环提交,效果不好。$.ajax({ 
        url: url1, 
        async:false, //设置为同步
        success: function(msg){
            alert(msg);
        }
    });解法二:将所有数据,组合好之后, 一起提交过去, 再一起返回。