- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我最近从 bassistance 生成的插件中迁移了一些自动完成插件。到jQuery UI autocomplete .
如何在不修改核心自动完成代码本身的情况下仅使用回调和其他选项来实现“mustMatch”和“selectFirst”?
最佳答案
我想我解决了这两个功能...
为了让事情变得更容易,我使用了一个通用的自定义选择器:
$.expr[':'].textEquals = function (a, i, m) {
return $(a).text().match("^" + m[3] + "$");
};
其余代码:
$(function () {
$("#tags").autocomplete({
source: '/get_my_data/',
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('');
}
}
}).live('keydown', function (e) {
var keyCode = e.keyCode || e.which;
//if TAB or RETURN is pressed and the text in the textbox does not match a suggestion, set the value of the textbox to the text of the first suggestion
if((keyCode == 9 || keyCode == 13) && ($(".ui-autocomplete li:textEquals('" + $(this).val() + "')").size() == 0)) {
$(this).val($(".ui-autocomplete li:visible:first").text());
}
});
});
如果您的任何自动完成建议包含正则表达式使用的任何“特殊”字符,您必须在自定义选择器中的 m[3] 内转义这些字符:
function escape_regexp(text) {
return text.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
}
并更改自定义选择器:
$.expr[':'].textEquals = function (a, i, m) {
return $(a).text().match("^" + escape_regexp(m[3]) + "$");
};
关于jquery - 如何在 jQuery UI 自动完成中实现 "mustMatch"和 "selectFirst"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2587378/
似乎对于最新版本的 ScalaTest,我们有两个匹配器,一个是Matchers(之前的ShouldMatchers)和MustMatchers。 这两者之间的真正区别是什么?是团队可以选择的那种风格
我正在使用 jQuery 1.4.4 和 jQuery UI 1.8.9。我有一个非常有效的自动完成字段,但是我想将输入限制为仅自动完成后端提供的内容。 文档说明: mustMatch Boolean
我正在尝试使用 GitHub 上的 Knockoutjs 验证插件。它的大部分似乎工作得很好但是当我尝试使用扩展验证 mustEqual(password/confirm password) 它似乎没
我最近从 bassistance 生成的插件中迁移了一些自动完成插件。到jQuery UI autocomplete . 如何在不修改核心自动完成代码本身的情况下仅使用回调和其他选项来实现“mustM
我是一名优秀的程序员,十分优秀!