不能在其他ajax中调用ajax

时间:2018-01-05 03:05:29

标签: javascript jquery ajax

我从select选项中执行此ajax以更改其值及其工作。

function ambilDataServis() {
var nama_checklist = $("#servis_nama_checklist").val();
var rentang_checklist = $("#servis_rentang_checklist").val();
var jenis_checklist = $("#servis_jenisChecklist").val();
$.ajax({
url: 'script/ambil_data.php',
type: "POST",
data:  {jenis_checklist:jenis_checklist, nama_checklist:nama_checklist, rentang_checklist:rentang_checklist},
success: function(data)
    { 
        $("#halaman_dinamis_servis").css('opacity','1');
        $("#halaman_dinamis_servis").html(data);
    },
    beforeSend:function()
    {
         $("#halaman_dinamis_servis").css('opacity','0.5');
    }
});
}

然后我称之为另一个ajax,它是从ajax脚本上面的动态内容中的另一个select选项调用的,并且它不起作用。

在上面ajax之前调用它的工作,但在上面的ajax之后调用它不能正常工作

$(document).on("change","#non_servis_row_checklist", function(){
var nama_checklist = $("#non_servis_nama_checklist").val();
var rentang_checklist = $("#non_servis_rentang_checklist").val();
var jenis_checklist = $("#non_servis_jenisChecklist").val();
var servis_row_checklist = $("#non_servis_row_checklist").val();
$.ajax({
url: 'script/ambil_row_data.php',
type: "POST",
data:  {jenis_checklist:jenis_checklist, servis_row_checklist:servis_row_checklist, nama_checklist:nama_checklist, rentang_checklist:rentang_checklist},
success: function(data)
    { 
        $("#panelC_non_service_content").css('opacity','1');
        $("#panelC_non_service_content").html(data);
    },
    beforeSend:function()
    {
         $("#panelC_non_service_content").css('opacity','0.5');
    }
});
});

HTML看起来像这样

<select onchange="ambilDataServis()">
    <option value="A">A</option>
    <option value="B">B</option>
</select>
<div id="halaman_dinamis_servis">
   <select id="non_servis_row_checklist">
    <option value="A">A</option>
    <option value="B">B</option>
   </select>
   <div id="panelC_non_service_content">
   </div>
 </div>

有谁能告诉我如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

您在此处调用的函数为第3个参数。     $(文件)。在( “变化”, “#non_servis_row_checklist”

我建议你命名函数(不是匿名函数),然后在第一个ajax成功分配DIV内容后手动调用它(在$(“#panelC_non_service_content”)之后立即调用它.html(data);)

这是因为我不相信你基本上重建了DIV中的HTML来调用onchange函数。