使 ajax 请求和成功数据显示在 id <选择></选择>部分中


Make ajax request and success data show in id <select></select> part

请参阅此链接。我的 HTML 页面包含一个类似的多选下拉列表。像这样的东西——

<select id="box" data-placeholder="Choose from available option.." class="chosen-select student-select" name="classes" multiple style="width:310px;" tabindex="4">
</select>

在此选择下拉列表中,我尝试通过发出 Ajax 请求并在那里显示成功数据来打印<option></option>

当我使用简单的<select></select>而不使用chosen样式时,我可以看到那里的选项。但是当我在select(多选)附近使用chosen样式时,它不会显示选项。

document.getElementById("box").innerHTML = data;

我正在做这样的事情。请帮助为什么当我使用所选效果时它没有显示我。?

$(document).ready(function(){
$('#customer').change(function(){
var Id = $(this).val();
$.ajax({
type: "GET",
url: '../folder/page1.php',
data: "mid="+Id,
success: function( data ) {
alert(data);
document.getElementById("box").innerHTML = data;
}
});
});
});
您需要

在通过 ajax 将新 html 加载到页面中后启动 selected。这个问题已经回答了。

选择不处理 AJAX 调用中的元素

您只能在 DOM 中显示 HTML 输出。我假设您在 ajax 请求后获得选项。只是尝试改变像

$(document).ready(function(){
$('#customer').change(function(){
var Id = $(this).val();
$.ajax({
type: "GET",
url: '../folder/page1.php',
data: "mid="+Id,
 success: function( data ) {
    $("#box").html(data);
    $(".chosen-select").chosen();
 }
 });
});
});

在 AJAX 调用之后,您应该初始化您的选择框。 尝试分享结果。