标签: jquery-autocomplete

如何防止自动完成jquery中的默认选择事件

从菜单中选择项目时触发; ui.item指的是所选项目.select的默认操作是将文本字段的值替换为所选项的值.取消此事件可防止更新值,但不会阻止菜单关闭.

$("#txt1").autocomplete({
    minLength: 1,
    source:  "abc.php",
    select: function(event, ui) 
    {
        event.preventDefault();
        //alert("Select");
        var label= ui.item.label;
        var value= ui.item.value;
        $('#txt1').val(ui.item.label);
    }
});
Run Code Online (Sandbox Code Playgroud)

jquery jquery-autocomplete

8
推荐指数
2
解决办法
9734
查看次数

无法多次覆盖jQuery UI自动完成renderItem方法

它在发现的第一个自动完成中正确覆盖,但对其余部分不执行任何操作.相反,它会加载原始的_renderitem方法,您可以在https://github.com/jquery/jquery-ui/blob/master/ui/jquery.ui.autocomplete.js#L449上看到.

$(".someClassWithMultipleItemsOnDOM").autocomplete({
        delay:500,
        minLength:2,
        source:path"
        .....   
}).data( "autocomplete" )._renderItem = function( ul, item ) {
Run Code Online (Sandbox Code Playgroud)

提前致谢

jquery jquery-ui jquery-autocomplete jquery-ui-autocomplete

8
推荐指数
2
解决办法
8799
查看次数

JQuery AutoComplete,手动选择第一个搜索项并绑定点击

我想手动选择自动填充中的项目,并在给定值的情况下单击它.

以下代码:

autocompleteitem.autocomplete("option", "autoFocus", true).autocomplete("search", autocompleteitem.val());
Run Code Online (Sandbox Code Playgroud)

autocompleteitem是一个输入对象,它包含我想要搜索的值.现在,此代码成功从下拉列表中选择第一个项目,但它没有单击它.我不想自己点击它我希望它以某种方式在该代码中发生.

我尝试了上面代码的以下添加功能:

   .click(), .select(), .trigger('select'), .find('a').click(), .change()
Run Code Online (Sandbox Code Playgroud)

有什么方法可以做到吗?

谢谢

请有人帮忙

javascript jquery jquery-autocomplete jquery-ui-autocomplete

8
推荐指数
2
解决办法
2万
查看次数

以编程方式jquery自动完成文本框设置值

我正在使用jquery 1.8.2和jqueryui 1.9.0库.

我试图在我的表中添加一个"编辑记录"对话框,其中包含一个jquery-ui的自动完成文本框.

我还使用自动完成的更改事件来限制用户从给定列表中选择项目.

我的问题是:当我告诉我的编辑形式,我现有的数据设置为文本框,但是当用户点击编辑表格另一个领域,改变控制器大跌眼镜没有错误发生变化.我发现有很多的样本,显示了如何设置组合框自动完成型的价值,但我无法找到一个文本框类型.请帮我解决这个问题,我相信你的答案也会对其他用户有用.

这是我的自动填充文本框的代码:

    $("#EditMaterialName").autocomplete({
        source: function (request, response) {
            $.ajax({
                type: "POST",
                url: "someurl",
                dataType: "json",
                data: {
                    search_string: request.term
                },
                success: function (data) {
                    response($.map(data, function (item) {
                        return {
                            label: item.description,
                            value: item.description
                        }
                    }));
                }
            });
        },
        minLength: 2,
        select: function (event, ui) {

        },
        change: function (event, ui) {
            if (!ui.item) {
                $('<div class="error"><b> please select a listed value.</b><div>').insertAfter('#EditMatName');
                $('#EditMaterialName').val('');
            }
        },
        open: function () {
            $(this).removeClass('ui-corner-all').addClass('ui-corner-top');

        },
        close: function () { …
Run Code Online (Sandbox Code Playgroud)

jquery jquery-autocomplete jquery-ui-autocomplete

8
推荐指数
1
解决办法
1万
查看次数

可点击的自动填充功能,如谷歌

我正在寻找没有"提交"按钮的自动完成功能,但是当用户点击自动完成关键字时,他会被重定向到另一个网址,我会选择

我正在使用http://dyve.net/jquery/?autocomplete,我想在这个脚本中实现,而不是使用任何其他(因为如果我在这个中输入ODE,他会显示CODE和ODESSA)

例:

用户输入"goo"然后为他显示GOOGLE,当他点击GOOGLE时脚本将他发送到www.google.com(如"Google"=>" http://www.google.com ")

如果我能用脚本我会告诉你们我不是程序员所以我需要,代码本身,我知道它太多要问但我尝试了一切= \

谢谢!


jUI自动完成的问题是我想这样做:

如果我键入" ODE "

它会显示"C ODE "和" ODE SSA"

不仅仅是从一开始,这就是为什么我试图在另一个中使用你的代码

另外,当我使用Russ和karim79的代码时,它没有用

jquery autocomplete onclick jquery-autocomplete

7
推荐指数
2
解决办法
1万
查看次数

JQuery自动完成:覆盖默认行为

我希望有一些自定义自动完成功能,我认为自定义jQuery的自动完成更有意义.所以我想知道:

  1. 如何强制打开自动完成列表?$("#autocomplete").trigger('autocompleteopen');不起作用.

  2. 如何将自己的东西放到列表中?显然不是通过source选项,而是来自外部.

换句话说,从1和2,我希望有一个所有选项的列表(不受限制limit),我希望它在用户开始输入之前打开并显示所有选项,无论用户输入什么.

任何帮助,将不胜感激.

干杯
帕萨

jquery autocomplete jquery-autocomplete

7
推荐指数
1
解决办法
2611
查看次数

jquery自动完成不使用JSON数据

我的PHP代码将JSON数据返回到jquery自动完成,但自动完成不起作用

Jquery自动完成

$("input#txtaddkey").autocomplete({
            source: "keyword.php",
                minLength: 2
        });
Run Code Online (Sandbox Code Playgroud)

PHP代码

$fetch = mysql_query("SELECT * FROM o_keyword where keyword like '%" . $query . "%'"); 

    while ($row = mysql_fetch_array($fetch, MYSQL_ASSOC)) {
        $row_array['id'] = $row['id'];
        $row_array['keyword'] = $row['keyword'];

        array_push($return_arr,$row_array);
    }
echo json_encode($return_arr);
Run Code Online (Sandbox Code Playgroud)

JSON数据输出

[{"id":"2","keyword":"Games"},{"id":"3","keyword":"Goa"}]
Run Code Online (Sandbox Code Playgroud)

在键入"Ga"时,我在前端获得空li标签.

php jquery json jquery-autocomplete

7
推荐指数
1
解决办法
2万
查看次数

如何进行传递id而不是名称的jQuery自动完成?

我一直在寻找jQuery UI Autocomplete,因为我需要一个<input />但问题是我需要传递已完成名称的id.让我解释:

我有一系列名字:

$names = array(
    array('name' => 'John', id => '1'),
    array('name' => 'Sarah', id => '2'),
    array('name' => 'Josh', id => '3)
);
Run Code Online (Sandbox Code Playgroud)

然后,使用AJAX,输入将使用数组的一个名称自动完成,但是当我提交时,我需要id而不是名称.我该如何管理?

提前致谢

jquery jquery-ui autocomplete jquery-autocomplete jquery-ui-autocomplete

7
推荐指数
2
解决办法
1万
查看次数

如何在自动完成实现的文本框中设置默认值?

我有一个使用自动完成功能实现的文本框.就这个.

<input id="txtcity" />
$("#txtcity").autocomplete({
  source: function (request, response) {
    $.ajax({
      url: '@Url.Action("CityLookup", "PatientDemographic", "")', type: "POST", dataType: "json",
      data: { searchText: request.term, maxResults: 10 },
      success: function (data) {
        response($.map(data, function (item) {
          return { label: item.Text, value: item.Text, id: item.Value }
        }))
      }
    })
  },
  select: function (event, ui) {
    $("#CityCode").val(ui.item.id);
  },
  open: function () {
    $(this).removeClass("ui-corner-all").addClass("ui-corner-top");
  },
  close: function () {
    $(this).removeClass("ui-corner-top").addClass("ui-corner-all");
  }
});
Run Code Online (Sandbox Code Playgroud)

这会返回三个结果,比如说"Apple","Banana","Cabbage".如何在渲染时将默认值设置为"Banana"?即,text ="banana"value ="2"?

html jquery jquery-autocomplete

7
推荐指数
1
解决办法
3万
查看次数

在jquery自动完成中使用查找和/或服务URL

我的应用程序中有一个自动完成功能,它向服务器发出ajax请求.但是,一旦我从服务器获取数据,我想使用查找功能而不是使用服务URL(以最小化对服务器的调用).

这是我的js的样子

$('#country').autocomplete({
    serviceUrl : './countryCache?',
    paramName : 'countryName',
    transformResult : function(response) {
        return {
            // must convert json to javascript object before process
            suggestions : $.map($.parseJSON(response), function(item) {
                return {
                    data : item.name
                };
            })
        };
    },
    showNoSuggestionNotice:true,
    onSelect: function (value, data) {
        $('#countryId').val(value.data);

    }

});
Run Code Online (Sandbox Code Playgroud)

以下是我的ajax调用countryCache的示例 - "印度,冰岛,印度尼西亚".如果用户键入了I,则服务器将返回上面的结果.现在,当用户在I之后键入n时,我不想再次调用服务器.有人可以帮助我实现它.

javascript jquery autocomplete jquery-autocomplete jquery-ui-autocomplete

7
推荐指数
1
解决办法
7140
查看次数