Jquery Ajax在新请求之前清除结果

Jquery Ajax在新请求之前清除结果,jquery,ajax,Jquery,Ajax,我有一个ajax代码,它根据下拉菜单中的选定选项从API返回数据,问题是当我更改下拉菜单选项时,它将不会清除旧数据,而只是将新数据添加到我的append中以前的数据中 思维方式 从下拉列表1中选择选项后选择 在下拉列表中追加结果2个postdets 选择后更改下拉列表1中的选项 清除下拉列表中的选项2 postdets 将新数据附加到下拉列表2 postdets 密码 问题 如何清除我的追加部分成功:functiondata{当courierName在追加新数据之前更改时?似乎在追加新选项之前没

我有一个ajax代码,它根据下拉菜单中的选定选项从API返回数据,问题是当我更改下拉菜单选项时,它将不会清除旧数据,而只是将新数据添加到我的append中以前的数据中

思维方式 从下拉列表1中选择选项后选择 在下拉列表中追加结果2个postdets 选择后更改下拉列表1中的选项 清除下拉列表中的选项2 postdets 将新数据附加到下拉列表2 postdets 密码 问题
如何清除我的追加部分成功:functiondata{当courierName在追加新数据之前更改时?

似乎在追加新选项之前没有清除$'select[name=postdets]'。您可以尝试添加$'select[name=postdets]'。函数成功后立即清空

$.ajax({
  ...
  success: function(data) {
    $('select[name="postdets"]').empty();
    ...
  }
});
解决了的 正如我所希望的,在第一个下拉列表中的选项更改后,立即清除第二个下拉列表。以下是我所做的:

$('body').on('change', '#postchoose', function(e){
  $('select[name="postdets"]').empty().append("<option value='' selected>Processing...</option>");
  //other lines....
  $.ajax({
    url: '{{ url('rajaajax') }}/'+weight+'/'+cityID+'/'+encodeURI(courierName),
    type: "GET",
    dataType: "json",
    success:function(data) {
      $('select[name="postdets"]').empty().append("<option value='' selected>Select</option>");
      //rest of it...
    }
  });
});
现在,当我更改第一个下拉列表的选项时,它显示正在处理…当数据准备就绪时,它显示select


不清楚您想做什么,或者哪个字段是哪个字段。请编辑您的问题以使其更清楚,最好包括您的HTML。在任何情况下,API返回数据时运行的代码都是成功的:functiondata{,那就是你应该处理的地方。@kmoser我已经在我的问题中添加了逻辑。谢谢,我不得不改进你的答案,使之符合我的逻辑,但我投票支持了你的答案。
$('body').on('change', '#postchoose', function(e){
  $('select[name="postdets"]').empty().append("<option value='' selected>Processing...</option>");
  //other lines....
  $.ajax({
    url: '{{ url('rajaajax') }}/'+weight+'/'+cityID+'/'+encodeURI(courierName),
    type: "GET",
    dataType: "json",
    success:function(data) {
      $('select[name="postdets"]').empty().append("<option value='' selected>Select</option>");
      //rest of it...
    }
  });
});