我尝试使用select2.js中的ajax从我的文件中获取数据。我希望根据我在文本框中输入的值获取数据,并使用select2将该值附加到我的下拉列表中。我试过了,但它没有根据我的搜索关键字给出结果如何解决这些问题。
这是HTML上的输入框:
<input type="text" id="Address1" name="Address1" >
Javascript代码
<script>
$("#Address1").select2({
tags: [],
ajax: {
url: 'ajaxhandler.php',
dataType: 'json',
type: "POST",
// quietMillis: 50,
data: function (term) {
return {
term: term
};
},
results: function (term) {
}
}
});
</script>
ajaxhandler.php
<?php
$CITIES = array("Ahmedabad", "Mumbai", "USA", "Canada", "Pune");
echo json_encode($CITIES); exit;
?>
答案 0 :(得分:1)
Select2.js(版本4)的数据格式为:
{
"results": [
{
"id": 1,
"text": "Option 1"
},
{
"id": 2,
"text": "Option 2"
}
]
}
请参阅:https://select2.org/data-sources/formats
所以你需要processResults收到表单服务器,如下所示:
processResults: function (data) {
return {
results: $.map(data.items, function(obj, index) {
return { id: index, text: obj };
})
};
},