javascript - Select2 过滤器不起作用

标签 javascript ajax json jquery-select2

我使用 Select2 来处理我的下拉菜单。 下拉菜单通过“Ajax 调用”填充到 PHP,PHP 从 Mysql 获取数据。

Select2 下拉菜单提供搜索功能和过滤功能。 当我在搜索字段中输入内容时,字母会带有下划线,但过滤器不起作用。 所以列表不会按我输入的字母过滤。为什么?

JS:

$(document).ready(function(){
$("#test").select2({
placeholder: "test",
minimumInputLength: 1,
ajax: {
    url: "test.php",
    dataType: 'json',
    //search term
    data: function (term, page) {
        return {
        q: term, // search term
        page: page
        };
    },
    results: function (data, page) {
    return { results: data};
    } //End of results
}, //End of Ajax
}); //End of select2

最佳答案

过滤必须在服务器端完成。 此 PHP 脚本将使过滤工作。

PHP:

<?php
// setup databse connection
require_once('db.php'); 

// Select from database, i have set the limit to 40 to speed up results
$result = $db->prepare("SELECT * FROM table WHERE option LIKE :term ORDER BY option ASC LIMIT 0,40");

// bind the value for security with the wildcard % attached.
$result->bindvalue(':term','%'.$_GET["q"].'%',PDO::PARAM_STR);
$result->execute();

// make sure there are some results else a null query will be returned
if($result->rowcount() != 0) {
while($row = $result->fetch(PDO::FETCH_ASSOC)){
    $answer[] = array(
                    "id"=>$row['option_id'],
                    "text"=>$row['option']);
// the text I want to show is in the form of option
}
} else {
// 0 results send a message back to say so.
$answer[] = array("id"=>"0","text"=>"No Results Found..");
}

// finally encode the answer to json and send back the result.
echo json_encode($answer);

关于javascript - Select2 过滤器不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26232588/

相关文章:

javascript - 是否可以在 JavaScript 中为端点响应创建变量?

jquery - 使用 Ajax/JSON 的 jsTree 搜索不调用 URL

python - 从另一个数据帧的列组成一个数据帧

json - 批量导入JSON到SQL Server

php - 获取输入类型单选的值并根据选择的类型重定向

jquery - 将序列化 JSON 对象 POST 到 Coldfusion 远程方法,而不是使用 FORM

javascript - Chrome 上的 Firebase 云消息传递未经授权错误 401

javascript - $ionicScrollDelegate.resize() 不起作用

javascript - 使用 node.js 的 mailchimp-api 插件将用户添加到 mailchimp 邮件列表

javascript - 如何从php循环获取值到div