代码改变世界

JQueryUI-autoComplete控件使用详解

  AnyKoro  阅读(1696)  评论(0编辑  收藏  举报

JQueryUI的东西,说简单,简单,但是灵活性稍微有些不足。

接下来是我在工作中遇到的一则应用,感觉是挺平常的,但是却还找不到很对应的。所以写下,记录下。
直接上代码: 

复制代码
    $(function() {
$( "#CatalogText" ).autocomplete({
minLength: <%=int.Parse(ConfigurationManager.AppSettings["MinReactLength"] ?? "1") %>,
source: "SearchTerm.ashx?catagory=2&languagecode=en",
focus: function( event, ui ) {
$( "#CatalogText" ).val( ui.item.TextField );
return false;
},
open:function(){
$("#CatalogValue").val("");
},
select: function( event, ui ) {
$( "#CatalogText" ).val( ui.item.TextField );
$( "#CatalogValue" ).val( ui.item.ValueField );
return false;
}
})
.data( "autocomplete" )._renderItem = function( ul, item ) {
return $( "<li></li>" )
.data( "item.autocomplete", item )
.append( "<a>" + item.TextField + "</a>" )
.appendTo( ul );
};
});
复制代码

这里的CatalogText表示目录的显示值,CatalogValue对应值。这里着重介绍这么几个关键字,source,data 

先说Search,我这里使用的是连接远程的脚本,返回的是一个json字符串。在这里,你可能会奇怪,怎么没有我们输入的值你?其实默认情况下,我们的输入会作为term自动加入到请求中,请求会变成SearchTerm.ashx?catagory=2&languagecode=en&term=我们的输入,所以,你不用再费心拼贴字符串了。但是,也出了额外的问题,我们怎么动态改变这个链接呢?很遗憾。。。读源码吧。。。不过也不用全部,就是autocomplete的方法和data方法的。

这里要说data了。这个函数用于我们自定样式,默认情况下,程序是识别label和value的。如果要使用其他的属性。好吧。。。就用这个方法改造把。具体的详读程序把。

编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示