Jquery UI自动完成不在IE中显示列表

时间:2012-11-26 03:22:42

标签: jquery-ui jquery-autocomplete

我正在尝试按照http://jqueryui.com/autocomplete/#remote中的示例构建自动完成输入。到目前为止,这些代码适用于Opera,Firefox和Chrome,但不适用于IE8和IE9。以下是我的代码和服务器对TestData的响应。

过去几天一直在测试这些并没有成功。非常感谢这里的任何大师都可以提供帮助。

感谢。

<!doctype html>
<html lang="en">
    <head>
        <meta charset="utf-8" />
        <title>Test</title>
        <link rel="stylesheet" href="http://code.jquery.com/ui/1.9.1/themes/base/jquery-ui.css" />
        <script src="http://code.jquery.com/jquery-1.8.2.js"></script>
        <script src="http://code.jquery.com/ui/1.9.1/jquery-ui.js"></script>
        <script>
            $(function() {
                $( "#test" ).autocomplete({
                    source: "TestData",
                    minLength: 2
                });
            })
        </script>
    </head>
    <body>
        <div class="ui-widget">
            <input id="test" />
        </div>
    </body>
</html>

来自服务器的响应标头

Key             Value
Response        HTTP/1.0 200 
Server          Development/1.0
Date            Mon, 26 Nov 2012 02:49:31 GMT
Cache-Control   no-cache
Content-Type    text/html; charset=utf8
Content-Length  43

回应机构

[{"id":"1","value":"a1","label":"a1 test"}]

1 个答案:

答案 0 :(得分:0)

为了更精细地控制Web服务实际返回的内容,我建议以这种方式实现:

$( "#city" ).autocomplete({
            source: function( request, response ) {
                $.ajax({
                    .............
                    success: function( data ) {
                        var transformedData = transformData(data);
                        // feeding back to jquery autocomplete 
                        response( transformedData );
                    }
                });
            });

如果您在成功函数中设置断点,您应该能够在调试器中看到从Web服务获得的内容。