我正在从选择选项中执行此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/