0

我正在处理剑道自动完成。但它不能正常工作。我不明白问题是什么。这是我的代码。请帮我解决这个问题。

$("#autocomplete").kendoAutoComplete({
   minLength : 1,
       dataSource: new kendo.data.DataSource({
       serverFiltering: true,
       dataType: "json",
           transport: {
               read:  {
                        url: "data/emp_det.php",
            parameterMap: function(options, operation) {
                                return {
                                    StartsWith: options.filter.filters[0].value
                                }
                            }
               },
           },
           schema: {
               data: "data"
           },

   }),
   dataTextField: "user_name",
     });

})(jQuery, kendo);

我的 php 文件是

<?php
$db = new PDO('mysql:host=localhost;dbname=abc', 'root', '');
    $arr = array();
    $stmt = $db->prepare("SELECT id, user_name FROM employee WHERE user_name LIKE ?");
if ($stmt->execute(array($_GET["StartsWith"]. "%"))) {
    while ($row = $stmt->fetch()) {
        $arr[] = $row;    
    }
    }
    header("Content-type: application/json");
    echo "{\"data\":" .json_encode($arr). "}";
?>
4

1 回答 1

0

parameterMap这里transport的文档而不是来自read文档的对象。

它应该是:

$("#autocomplete").kendoAutoComplete({
    minLength : 1,
    dataSource: new kendo.data.DataSource({
        serverFiltering: true,
        dataType: "json",
        transport: {
            read:  {
                url: "data/emp_det.php"
            },
            parameterMap: function(options, operation) {
                return {
                    StartsWith: options.filter.filters[0].value
                }
            }
        },
        schema: {
            data: "data"
        }
    }),
    dataTextField: "user_name"
});
于 2013-04-08T12:06:39.377 回答