我正在尝试自定义自动完成组合框
旨在将其用于带有弹出窗口的嵌套列表.从jQuery UI的缩小版本开始显然不是理想的.下载构建器仅提供缩小的下载.
从哪里可以下载jquery.autocomplete.js"?
我正在构建一个聊天窗口小部件,允许人们在Web应用程序中相互通信.因此大多数聊天都只是文字,但我想让人们说

它应该出现在聊天中(例如)

键入@符号的位置允许Joe从用户列表中自动完成,也可以呈现为某种不仅仅是文本的HTML元素.
一个很好的例子是在StackOverflow上提问或编辑问题时的标签框 - 你可以输入自动填充一个或多个标签的自由文本; 我基本上希望标签用特定符号激活(@在这种情况下),否则仍然允许自由文本.另一个例子是StackOverflow中的注释回复字段,您可以在其中键入@fooUser this is my response to your comment并fooUser成为链接.
GitHub也这样做; 它为#(issue)和@(user)提供了不同的自动完成,即:

我知道诸如Twitter/Bootstrap typeahead和jQuery UI自动完成之类的库,但它们似乎自动完成整个输入并且不够灵活,不能做这样的事情.这里有两个主要问题:
我也没有在文本输入/文本区域中呈现DOM元素,但我找不到任何执行此类混合自由文本/自动完成的库.
另外,我在Meteor中这样做,因此自动完成的数据源将是Meteor集合.虽然这不应该影响数据如何过多地连接,但是流星感知的答案会更有帮助.
与textarea中的Twitter式自动完成相关,但这个问题已经超过2年,没有好的答案,希望现在有更好的东西出现.
javascript autocomplete jquery-autocomplete meteor bootstrap-typeahead
我最近一直试图解决这个问题,但我不能
问题是我有一个input类型的字段text,我需要在选择自动完成的值时获取当前输入数据.注意我正在使用jQuery UI自动完成.
我可以捕获keyup事件但是当用户使用点击自动完成值时.jQuery不会触发change事件处理程序,我尝试使用每个事件处理程序,但无济于事.
我认为它无法捕获基于DOM的元素操作?我不确定.这是一个 小提琴
我已经为客户端实现了jQuery Autocomplete.现在,他们希望我突出显示(例如粗体)与他们输入的文本相匹配的结果部分.
例如,用户键入"something",结果如下:
东西一
某事 b
另一件事
做点别的
这个功能内置于jQuery自动完成中吗?如果是这样,它是什么?
或者这是我必须自己实施的东西?如果是这样,我从哪里开始呢?
javascript jquery jquery-ui jquery-autocomplete jquery-ui-autocomplete
我试图通过jquery auto complete plugin实现自动完成.一个简单的自动完成工作对我来说.我无法实现逗号分隔自动完成.
请帮我解决我的错误.
我的jquery代码:
$(document).ready(function() {
$.getJSON('/releases/new.json', function() {
alert("inside getJson");
alert(data1);
$('#release_tester_tokens').autocomplete({source:names,multiple: true});
});
});
Run Code Online (Sandbox Code Playgroud)
谢谢,Ramya.
到目前为止我有这个工作代码:
小提琴:http://jsfiddle.net/r4emt/12/
在您进入JQuery UI自动完成之前,该按钮显示为"Hello".您可以在JQuery UI自动完成中键入"item",您会注意到该按钮现在显示为"World".单击"世界"按钮将项目放入列表中.如果再次键入项目,则可以选择一个项目,然后单击列表中已有项目的替换按钮.但是,一旦你这样做,按钮仍然会显示"世界",但它应该说"你好",因为输入字段中没有任何内容.如果你点击输入字段,然后点击删除或后退箭头它会改回"你好",但没有任何东西可以删除或转到左边.我认为这与代码的这一部分有关:
$('#inputWrapper').on('keyup', '#tags', function() {
if($(this).val() == '') {
$('button.addButton').text('Hello');
} else {
$('button.addButton').text('World');
}
});
Run Code Online (Sandbox Code Playgroud)
特别是'keyup'部分.所以我的问题是如何解决这个问题,这样每当输入框为空时,按钮总是显示"hello",当字段中有输入时,按钮显示为"world"?谢谢!
我在使用动态创建输入的jQuery自动完成时遇到了问题(再次使用jQuery创建).我无法获得自动完成功能来绑定到新输入.
自动完成
$("#description").autocomplete({
source: function(request, response) {
$.ajax({
url: "../../works_search",
dataType: "json",
type: "post",
data: {
maxRows: 15,
term: request.term
},
success: function(data) {
response($.map(data.works, function(item) {
return {
label: item.description,
value: item.description
}
}))
}
})
},
minLength: 2,
});
Run Code Online (Sandbox Code Playgroud)
带输入的新表行
var i = 1;
var $table = $("#works");
var $tableBody = $("tbody",$table);
$('a#add').click(function() {
var newtr = $('<tr class="jobs"><td><input type="text" name="item[' + i + '][quantity]" /></td><td><input type="text" id="description" name="item[' + i + '][works_description]" /></td></tr>');
$tableBody.append(newtr);
i++;
});
Run Code Online (Sandbox Code Playgroud)
我知道问题是由于页面加载后创建的内容,但我无法弄清楚如何绕过它.我已经阅读了几个相关的问题,并遇到了jQuery …
我有一个表单,其中包含可变数量的自动填充字段,这些字段使用相同的选择列表.根据需要添加和删除这些字段.每当页面上的参数发生变化时,我(尝试)通过首先调用unbind()然后autocomplete()添加到url的新参数来更新所有字段的列表.
$('input.foo').unbind().autocomplete(url?new_param=bar);
Run Code Online (Sandbox Code Playgroud)
问题是unbind()似乎没有解除绑定.当我输入输入字段时,它会触发自动完成事件的整个历史记录.
我也试过flushCache无济于事.
如何清除旧事件?
谢谢.
我正在使用jquery UI AutoComplete来允许用户使用@mentions标记朋友.默认情况下,只要您将焦点放在文本框上,就会显示自动填充建议.只有在输入"@"时,如何才能显示建议?这是我到目前为止的代码:
var availableTags = [
"ActionScript",
"AppleScript",
"Asp",
"BASIC",
];
$("#tags").autocomplete({
source: availableTags,
minLength: 0
});
Run Code Online (Sandbox Code Playgroud) javascript jquery autocomplete jquery-plugins jquery-autocomplete
jquery ×8
javascript ×5
jquery-ui ×4
autocomplete ×3
append ×1
binding ×1
button ×1
dynamic ×1
input ×1
meteor ×1