jQuery自动完成。从选项列表中加载URL。使用本地数据集

时间:2012-05-14 09:56:11

标签: jquery autocomplete datasource local

所以,这就是需要。

我每天访问几个目录,桌面上有很多快捷方式。我想消除这个。所以我提出了一个想法,即我将使用一个简单的网页,其中包含一个目录名列表(这些名称将来自本地数据源),它将在我输入时自动完成,当我点击它们时,它们应该打开目录。这更像是点击它打开一个URL。你明白了吗?

我使用了jQuery UI中的代码。

<!DOCTYPE html>
<html lang="en">
<head>

<meta charset="utf-8">
<title>jQuery UI Autocomplete - Default functionality</title>
<link rel="stylesheet" href="css/redmond/jquery-ui-1.8.20.custom.css">
<script src="js/jquery-1.7.2.min.js"></script>
<script src="js/jquery-ui-1.8.20.custom.min.js"></script>

<link rel="stylesheet" href="../demos.css">
<script>
$(function() {
var availableTags = [
"ActionScript",
"AppleScript",
"Asp",
"BASIC",
"C",
"C++",
"Clojure",
"COBOL",
"ColdFusion",
"Python",
"Ruby",
"Scala",
"Scheme"
];
$( "#tags" ).autocomplete({
source: availableTags
});
});
</script>
</head>
<body>

<div class="demo">
<div class="ui-widget">
<label for="tags">Tags: </label>
<input id="tags" />
</div>

</div><!-- End demo -->



</body>
</html>

提前致谢。

1 个答案:

答案 0 :(得分:0)

如果它是asp.net那么我就会这样做

标记:

<asp:TextBox runat="server" ID="txtFileS" ></asp:TextBox>

Jquery:

$(document).ready(function() {
            $('#txtFileS').autocomplete({
                source: function(request, response) {
                    $.ajax({
                    url: "Default.aspx/GetFileList",
                        data: "{ 'query': '" + request.term + "' }",
                        dataType: "json",
                        type: "POST",
                        contentType: "application/json; charset=utf-8",
                        dataFilter: function(data) { return data; },
                        success: function(data) {
                            response($.map(data.d, function(item) {
                                return {
                                    value: item
                                };
                            }));
                        }
                    });
                }

            });
        }); 

服务器端方法:

   [WebMethod]
    public static string[] GetFileList(string query)
    {
        var s = Directory.GetFiles("C:\\").ToArray();
        return s;  // you need to filter the array according to the query. 
    }

PS:您需要在键入时过滤查询。在服务器端代码中。