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