gpt4 book ai didi

JQuery 在开始时自动完成 UI 搜索

转载 作者:行者123 更新时间:2023-12-03 22:45:21 24 4
gpt4 key购买 nike

使用 JQuery AutoComplete UI 1.8,我需要更改搜索,使其仅在字符串开头匹配。背景我的源来自一个我无法控制的ajax调用,它返回15,000及其相应的PK。 value 是名称,Id 是整数 PK。下面的代码可以工作,但由于我正在搜索 15,00 个与字符串中任何位置匹配的字符串,所以速度太慢。我看过这篇文章,链接,但我不知道如何在不丢失源中的 Id 字段的情况下进行操作。

我需要搜索仅匹配 data.d 中值的开头而不丢失 Id 字段。这是一个 ASP.Net 应用程序,但我认为这并不重要。有想法吗?

$("#companyList").autocomplete({
minLength: 4,
source: data.d,
focus: function(event, ui) {
$('#companyList').val(ui.item.value);
return false;
},
select: function(event, ui) {
$('#companyList').val(ui.item.value);
$('#<%= hdnCompanyListSelectedValue.ClientID %>').val(ui.item.Id);
return false;
}
});

最佳答案

这里为您提供了一个可能的解决方案。你们走在正确的轨道上。我使用 json 字符串作为数据源,并且我知道我想要匹配的文本位于 item.label 字段中。它可能在 item.value 中:输入字段:

<input type="text" id="state" name="state" /> 
<input
readonly="readonly" type="text" id="abbrev" name="abbrev" maxlength="2"
size="2"/>
<input type="hidden" id="state_id" name="state_id" />

jQuery

var states = [{"id":"1","label":"Armed Forces Americas (except Canada)","abbrev":"AA"},{"id":"2","label":"Armed Forces Africa, Canada, Europe, Middle East","abbrev":"AE"},{"id":"5","label":"Armed Forces Pacific","abbrev":"AP"},{"id":"9","label":"California","abbrev":"CA"},{"id":"10","label":"Colorado","abbrev":"CO"},{"id":"14","label":"Florida","abbrev":"FL"},{"id":"16","label":"Georgia","abbrev":"GA"},{"id":"33","label":"Northern Mariana Islands","abbrev":"MP"},{"id":"36","label":"North Carolina","abbrev":"NC"},{"id":"37","label":"North Dakota","abbrev":"ND"},{"id":"43","label":"New York","abbrev":"NY"},{"id":"46","label":"Oregon","abbrev":"OR"}];

$("#state").autocomplete({
source: function(req, response) {
var re = $.ui.autocomplete.escapeRegex(req.term);
var matcher = new RegExp( "^" + re, "i" );
response($.grep( states, function(item){
return matcher.test(item.label); }) );
},
minLength: 2,
select: function(event, ui) {
$('#state_id').val(ui.item.id);
$('#abbrev').val(ui.item.abbrev);
}
});

这是一个工作示例: http://www.jensbits.com/demos/autocomplete/index3.php

关于JQuery 在开始时自动完成 UI 搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5791379/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com