Tag: 自动完成

jQuery自动完成 – 如何处理额外的数据?

我正在努力解决以下问题。 我使用jQuery自动完成插件从服务器获取建议值列表。 列表看起来像这样: USERNAME1 | UserId1 USERNAME2 | UserId2 因此,如果我开始键入“U”,则会弹出”Username1″和”Username2″列表,如预期的那样。 我可以选择第一个项目, 的值将变为”Username1″ ,但我真正想要发送到服务器的是用户ID。 我可以以某种方式获取跟随用户名的ID吗? 我打算在更改文本框时执行表单发布。 也许我太盲目了,无法在文档中看到它或在Google上找到它?

jQueryUI自动完成 – 当没有返回结果时

我想知道当使用jQueryUI自动完成时从服务器返回空结果时如何捕获并添加自定义处理程序。 关于这一点似乎有一些与各种jQuery插件相关的问题(例如, 当结果为空时,jQuery自动完成显示“无数据”错误消息 ),但我想知道是否有更好/更简单的方法来实现与jQueryUI相同的自动完成。 在我看来,这是一个常见的用例,我想也许jQueryUI通过添加干净地处理这种情况的能力改进了jQuery自动完成。 然而,我无法找到这种function的文档,在我破解它之前,我想抛弃一些触角,以防其他人以前见过这个。 虽然可能不是特别有影响力,但我可以让服务器返回任何内容 – 例如HTTP 204: No Content到200 / JSON空列表 – 无论是什么使得最容易在jQueryUI的自动完成中捕获结果。 我的第一个想法是根据文档传递一个带有两个参数的回调,即一个请求对象和一个response callback来处理代码: 第三种变体即回调提供了最大的灵活性,可用于将任何数据源连接到自动完成。 回调有两个参数: 一个请求对象,具有一个名为“term”的属性,它引用当前文本输入中的值。 例如,当用户在城市字段中输入“new yo”时,自动完成术语将等于“new yo”。 一个响应回调,它期望一个参数包含要向用户建议的数据。 应根据提供的术语过滤此数据,并且可以采用上述任何简单本地数据格式(String-Array或具有标签/值/两者属性的Object-Array)。 当响应回调没有收到数据时,它会插入一个特殊的单行对象数组,该对象数组有一个标签和一个没有数据的指示符(因此select / focus将其识别为无数据返回的指示符)。 这似乎过于复杂。 我更喜欢能够使用一个源:“http:// …”,只是在某个地方有一个回调,表明没有返回数据。 谢谢你的阅读。 布赖恩 编辑: 这是我为解决这个问题而创建的包装函数,基于@ ThiefMaster的保证,它是正确的方法: function autocomplete(input, source_url, on_select, on_focus, default_data) { /* Autocompletion for an input field * input: the field for […]

如何在添加到元素后删除自动完成?

在我向以下元素添加自动完成后: commObj=$(“#communityName”).autocomplete(“auto_commName_backend.php”, {‘onItemSelect’: handleItemSelect}, {‘extraParams’: ‘ndo’ + ndo}); 有没有办法可以禁用它或动态删除元素的自动完成? 我正在使用Dylan Verheul的修改过的jquery自动完成插件。 http://www.pengoworks.com/workshop/jquery/autocomplete_docs.txt

在多次keydown事件后一秒钟执行AJAX搜索

所以我用jquery做了一个自动完成 。 Ajax用于从远程位置获取繁重的xml文件 。 如果我搜索前。 “两个半人” 它用ajax 做了大约16个查询 (对于除了3个之外的每个字母,查看代码)。 我希望它在用户按下最后一个键后一秒钟执行Ajax请求,这样它将执行一个查询而不是16个查询。 因此,如果用户在上次keydown事件后的1秒钟之前按下另一个键,它将不会执行查询。 $(document).ready(function(){ $(‘#tv_search’).keydown(function(){ var search = $(this).val(); if(search.length >= 3) { $.ajax({ type: “GET”, url: “search.php”, data: {show : search, key : ‘890k4900k0ll’ } }).done(function(msg){ $(‘#t’).html(msg); }); } }); }); Search for series: 有任何想法吗?

Jquery关闭autoComplete列表

我有以下JQuery来显示自动完成列表: var displayNum = 10; var pointer = displayNum; function DelegateSearch(txtBox) { $(“#” + txtBox).attr(“placeholder”, “Search by Last Name”); $(“.ajaxcompanyRefreshImage”).attr(“src”, “/images/refresh.jpg”); $(“.ajaxcompanyRefreshImage”).hide(); $(“#” +txtBox).parents().find(‘.ajaxcompanyRefreshImage’).click(function () { $(“#” +txtBox).autocomplete(“search”); }); $(“#” +txtBox).dblclick(function () { $(this).autocomplete(“search”); }); $(“#” +txtBox).autocomplete({ change: function (event, ui) { if ($(this).val() == ”) { $(this).parents().find(‘.ajaxcompanyRefreshImage’).hide(); } }, close: function (event, ui) { […]

jQueryUI自动完成’select’在鼠标单击时不起作用,但适用于关键事件

JS / JQuery的: $this.find(‘input’).autocomplete({ source: “/autocomplete_tc_testcasename”, minLength: 2, focus: function(e,ui){ $(this).val(ui.item.label); return false; }, select: function(e, ui) { console.log(“Selected: “+ui.item.value); } }); CSS: .ui-autocomplete { max-height: 200px; overflow-y: auto; padding: 5px; } .ui-menu { list-style: none; background-color: #FFFFEE; width: 50%; padding: 0px; border-bottom: 1px solid #DDDDDD; border-radius: 6px; -webkit-box-shadow: 0 8px 6px -6px black; -moz-box-shadow: […]

突出显示jQuery.autocomplete的多个关键字

我正在使用jQuery Autocomplete插件 ,但我在结果突出显示时遇到了一些问题。 找到匹配项但输入的关键字包含空格时,没有突出显示。 例: search =“foo”,result =“foo bar”,显示=“ foo bar” search =“foo ba”,result =“foo bar”,显示=“foo bar” 所以,我正在尝试使用自动完成function的高亮选项来修复此问题,您可以使用函数对结果执行一些自定义操作。 目前我有这个: $(‘.autocomplete’).autocomplete(‘getmatch.php’, { highlight: function(match, keywords) { keywords = keywords.split(‘ ‘).join(‘|’); return match.replace(/(get|keywords|here)/gi,’$1′); } }); replace函数用粗体版本替换字符串中所有匹配的单词,这有效。 但是,我不知道如何将关键字放入该function。 我虽然将它们分开,然后用’|’加入它们,所以“foo bar”最终会像“foo | bar”一样。 但是像这样的东西似乎不起作用: return match.replace(/(keywords)/gi,’$1′); // seen as text, I think return match.replace(‘/’+(keywords)+’/gi’,’$1′); // nothing either 有任何想法吗?

使用jQuery回调自动完成(标签/值对)

我正在尝试实现自动完成jQuery,但我不理解jQuery UI提供的自动完成function。 它使用回调函数并将响应作为标签/值对进行获取。 我有一些示例代码,我试图传回任意标签/值对并显示该选项,但它不起作用。 如果有人可以帮我解决这个问题,或者向我展示一个简单的程序,那就太棒了。 http://jsfiddle.net/kB25J/ HTML: Please enter your country name ​ JavaScript的: $(“#book”).autocomplete({ source: function(request, response) { alert(request.term); response(function() { return { label: “hi”, value: “bye” } }); alert(reponse); } }); 谢谢

Jquery在jquery ui autocomplete上捕获click事件

我一直试图弄清楚这一点,但我不能 问题是我有一个带有类型text的input字段,当选择自动完成的值时,我需要获取当前输入数据。 注意我正在使用jQuery UI自动完成。 我可以捕获keyup事件但是当用户使用点击自动完成值时。 jQuery不会触发change事件处理程序,我尝试使用每个事件处理程序,但无济于事。 我认为它无法捕获基于DOM的元素操作? 我不确定。 这是一个小提琴

jquery autocomplete获取所选项目文本

我想知道如何在jquery自动完成上获取所选项目的文本值。 我初始化了jquery如下: $(document).ready(function (){ $(“input#autocomplete”).autocomplete({ source: postcodelist, select: function (event, ui) { AutoCompleteSelectHandler(event, ui) } }); }); 我创建了一个函数函数AutoCompleteSelectHandler(event,ui){}。 在这个函数里面我想要一些额外的处理来将数据提供到正确的文本框中,但我无法弄清楚如何获取所选项目的文本值。 我做了一些谷歌尝试的例子,但我似乎无法让它工作。 任何帮助都感激不尽。 非常感谢。