自动完成时为 minLength 3,还有一个按钮,用于使用 minLength 0 手动搜索
minLength 3 on autocomplete and a button to manually search with minLength 0
我正在尝试创建一个自动完成功能,当由于结果集的大小而键入少于 3 个字符时不会触发搜索。但是,有些名字的名字和姓氏中实际上只有 1 或 2 个字母。
解决方案是允许用户单击输入中的放大镜以提交或"强制通过"具有 1 或 2 个字符值的查询。
这是我所在的地方:.HTML:
<input id="mainSearch" class="ui-front" name="mainSearch" type="text" data-role="autocomplete" placeholder="Recognize a UPSer">
<a href="#" class="bgbutton"></a>
jquery:
$('#mainSearch').autocomplete({
appendTo: ".inputWrapper",
minLength: 3,
source: function (request, response) {
var customer = new Array();
$.ajax({
async: false,
cache: false,
type: "POST",
url: "//database//EmployeeDirectory/",
data: { "filterText": request.term },
error: function (data) { console.log('Error!'); },
success: function (data) {
for (var i = 0; i < data.length ; i++) {
customer[i] = {
label: data[i].FullName,
Id: data[i].UserID
};
}
}
});
response(customer);
}
});
$('.bgbutton').on('click', function () {
$('#mainSearch').autocomplete('option', 'minLength', 0);
$('#mainSearch').autocomplete('search', '');
});
这在第一次尝试时有效。但是,一旦输入了 2 个字符,单击提交按钮 minLength 就会为所有自动完成功能设置为 0。并且将退距到一个字符将进行完整查询。
两个自动完成函数如何具有独立的最小长度?
如果没有看到所有代码,很难确定。 但是,如果您在按钮单击事件结束时立即将 minLength 重置为 3,会发生什么情况?
$('.bgbutton').on('click', function () {
$('#mainSearch').autocomplete('option', 'minLength', 0);
$('#mainSearch').autocomplete('search', '');
$('#mainSearch').autocomplete('option', 'minLength', 3);
});
相关文章:
- 将函数的上下文应用于javascript变量
- keyup事件处理程序更改焦点不适用于快速键入
- JQueryhide()不适用于Mozzilla,但适用于Chrome
- JavaScript数组排序(函数)用于对表行进行排序,而不是排序
- PHP中的setcookie仅适用于localhost
- 包括用于facebook评论框的JavaScript SDK
- 如何检测用于WebGL的专用或集成显卡
- ng更改事件不适用于Dropdown
- 用于搜索的聚合物嵌套绑定
- jQuery表单添加不适用于下拉列表
- Rails/JSON:如何将JSON用于jquery UI自动完成表单
- JS编译器/包管理器,用于版本控制
- 将CSS应用于printWindow.print();在Javascript中
- 用于'魔术串'属性
- 用于检查数组中是否存在元素的javascript自定义方法
- 谷歌地图API v3不适用于移动浏览器或PhoneGap
- 绑定时将Parsley minlength消息作为选项传递时,未对其进行自定义
- 在ajax成功后,cluetip不适用于首次点击活动元素
- minlength仅适用于Chrome
- 自动完成时为 minLength 3,还有一个按钮,用于使用 minLength 0 手动搜索