这是我目前所拥有的,不幸的是我似乎无法弄清楚如何autoFill使用jQuery-UI ...它曾经使用直接的Autocomplete.js
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.1/jquery-ui.min.js" type="text/javascript"></script>
<script src="http://jquery-ui.googlecode.com/svn/tags/latest/external/jquery.bgiframe-2.1.1.js" type="text/javascript"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.1/i18n/jquery-ui-i18n.min.js" type="text/javascript"></script>
<script language="javascript" type="text/javascript">
var thesource = "RegionsAutoComplete.axd?PID=3"
$(function () {
function log(message) {
$("<div/>").text(message).prependTo("#log");
$("#log").attr("scrollTop", 0);
}
$.expr[':'].textEquals = function (a, i, m) {
return $(a).text().match("^" + m[3] + "$");
};
$("#regions").autocomplete({
source: thesource,
change: function (event, ui) {
//if the value of the textbox does not match a suggestion, clear its value
if ($(".ui-autocomplete li:textEquals('" + $(this).val() + "')").size() == 0) {
$(this).val(''); …Run Code Online (Sandbox Code Playgroud) jquery UI团队有一个博客,介绍如何替换旧的自动完成,并证明它可以复制所有旧功能和选项.根据我的测试,我不认为他们可以复制:
我看到有关如何从此插件复制一些遗留自动完成选项的问题,并且有一个选定的答案,但它没有解决这些情况.
jquery ui 人有一个在新的自动完成中复制selectFirst的例子,但除非我弄错了,它只适用于本地数据源(不是远程数据源,因为在调用事件之前菜单通常没有填写).
我错过了什么或者这些场景在jquery ui autocomplete中根本不受支持?
当使用jQuery UI自动完成 组合框时,我认为会有一个选项只强制基于列表的有效密钥条目.有没有办法不允许无效密钥,所以你只能在列表中输入有效的项目?另外,有没有办法设置组合框的默认值?
如果我的列表有(C#,Java,Python)
我可以开始输入"abcds." 它让我输入它.我想只允许有效的条目.
我正在使用jQuery 1.4.4和jQuery UI 1.8.9.我有一个非常好的自动完成字段,但是我想将输入仅限于自动完成后端提供的内容.
该文件说明:
mustMatch Boolean默认值:false
如果设置为true,则自动完成程序将仅允许后端显示的结果.请注意,非法值会导致输入框为空.
但是,当我将mustMatch设置为true时,它没有任何区别 - 我仍然可以输入任何我喜欢的内容并且没有任何反应.
我很确定这是我正在做的事情,而不是一个bug,因为我没有在谷歌上看到任何指向那个的东西.
这是一段代码片段:
$( ".client" ).autocomplete({
minLength: 2,
mustMatch: true,
source: function( request, response ) {
var term = request.term;
if ( term in client_cache ) {
response( client_cache[ term ] );
return;
}
client_lastXhr = $.getJSON( "amex/start.php?action=autocomplete&field=client", request, function( data, status, xhr ) {
client_cache[ term ] = data;
if ( xhr === client_lastXhr ) {
response( data );
}
});
}
});
Run Code Online (Sandbox Code Playgroud)
谁能看到我做错了什么?谢谢你的帮助!
我正在接管一个新的网站,它使用了一个旧的不推荐使用的jquery autocomplete插件版本.我正在尝试使用最新的jquery ui自动完成重新创建功能,并且有一个功能我似乎无法复制.
我想在有多个值允许的情况下复制"mustMatch"功能.
所以基本上,如果我开始输入任何未显示在任何搜索结果中的测试(甚至是部分字符串搜索),它会重置该字段的条目(而不是让我输入不在有效列表中的垃圾)选择)
所以我可以说我的名单(本地)是{"Bird","Song","Happy"}
它会让我输入
Bird, Son
Run Code Online (Sandbox Code Playgroud)
但如果我在之后键入z它会保持打开状态
Bird, Son
Run Code Online (Sandbox Code Playgroud)
告诉我这是一个无效的条目
这可以在jquery ui自动完成中执行吗?
我看到很多来自谷歌的老帖子提出类似的问题和答案,但是没有一个似乎与多个值一起工作(许多似乎根本不工作:()