1

我正在尝试在 jquery 中实现自动完成,我已经检查了 Jquery ui autocomplete 但无法弄清楚。

我需要从 url 作为 json 或文本获取数据,但每次在自动完成中更改文本时我都应该这样做。我不应该提取所有数据并保留在客户端..

请让我知道我们是否有任何直接的实现作为插件或其他东西..我是 jquery 的新手

4

2 回答 2

0

你应该可以通过给一个回调来使用 jquery ui 自动完成来做到这一点source

$('#your_input').autocomplete({
  source: function(request, response) {
    $.ajax({
    ...
      success: function( data ) {
        response( $.map( data.field, function( item ) {
          return {
    ...

请参阅JSON 示例

匹配结果来自每次按键时的服务器

于 2012-05-23T09:23:11.830 回答
0
<script src="@Url.Content("~/Scripts/jquery-1.7.2.js")" type="text/javascript"></script>
<script type="text/javascript">

      $("#input_id").autocomplete({
                source: function (request, response) {
                    $.ajax({
                        url: 'URL',
                        dataType: "json",
                        data: {
                            filter: request.term // word being typed, can add additional params as needed
                        },
                        success: function (data) {
                            response($.map(eval(data), function (item) {
                                return {
                                    label: item.em_name,
                                    custom_val: item.custom_val,
                                    custom_val2: item.custom_val2
                                }
                            }));
                        }
                    })
                },
                maxLength: 2,   //length before search text gets submitted
                select: function (event, ui) {
                    $("#custom_val_textbox").attr('value', ui.item.custom_val);
                    $("#custom_val_textbox2").attr('value', ui.item.custom_val2);
                }
            });

</script>
于 2012-05-23T09:35:19.247 回答