javascript - 无法在其他ajax中调用ajax

标签 javascript jquery ajax

我正在从选择选项中执行此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 脚本的动态内容内的另一个选择选项调用的,但它不起作用。

在上面的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>

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

最佳答案

您在此处作为第三个参数调用的函数。 $(document).on("更改","#non_servis_row_checklist"

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

这是因为我不相信 onchange 函数是由您调用的,本质上是在 DIV 内重建 HTML。

关于javascript - 无法在其他ajax中调用ajax,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48106643/

相关文章:

javascript - 将新项目附加到 Vue 2 中的列表

javascript - 与图像碰撞(不规则形状)

javascript - React中如何将数据从子组件发送到父组件

jquery - d3js/jQuery 选择器不起作用

javascript - 带处理的 HTML5 Canvas 与纯 Javascript

javascript - 来自 ajax 表单的 XML 请求

jquery读取json嵌套对象的值

javascript - 在 Angular 中打印 [object HTMLElement]

jQuery Sortable 元素并不总是留在父元素中

javascript - 将字符串类型解析为 JSON 对象时出错