MVC联想查询绑定下拉框

前言
在做搜索时,输入些内容时需要弹出下拉框给用户进行选择,极大的方便了用户,会给用户带来不一样的体验
Controller

public ActionResult SSAC(string UserName)
{
var list = (from tb in myModel.PW_User
where (tb.UserNuber.Contains(UserName))
select tb
).ToList();
return Json(list, JsonRequestBehavior.AllowGet);
}

HTML

<div style="position:relative;width:200px;height:30px;" id="AAACCC">
<input type="text" style="position:absolute;z-index:1;width:90%;height:94%;border:none;margin:1px;border-radius: 0;border-right: 1px solid #808080;" />
<select style="position:absolute;z-index:0;width:100%;height:100%;border:none;">
<option></option>
</select>
</div>

JS
引用JQ文件

<script src="~/Plugins/jquery-3.2.1.min.js"></script>

写如下代码

<script>
LenovoQuery("#AAACCC", "/Main/SSAC", "UserName");//调用方法;参数(divID,控制器地址,对应参数)
function LenovoQuery(DName, Url, CorrespondingName) {
$("" + DName + " input").on("input propertychange",function () {//使用on方法添加input改变内容触发
$.get("" + Url + "?" + CorrespondingName + "=" + $(this).val() + "", function (data) {//get方式提交
$("" + DName + " select option").remove();//每次调用提交先清空下拉框的内容,以免叠加内容
if (data.length == 0) {//判断
$("" + DName + " select").append("<option></option>")//添加下拉
}
$.each(data, function (i) {//遍历数据
$("" + DName + " select").append("<option value=" + i + ">" + data[i].UserNuber + "</option>");//添加下拉
})
})
})
$("" + DName + " select").click(function () {
if ($(this)[0][$(this)[0].value] != undefined) {//如果数据不为空
$("" + DName + " input").val($(this)[0][$(this)[0].value].innerHTML);//把下拉框选中的内容赋值给输入框
}
})
}
</script>

效果
未输入时
在这里插入图片描述
输入时
在这里插入图片描述
点击下拉时
在这里插入图片描述
选定时
在这里插入图片描述
联想查询就完成了
END

  LRolinx  阅读(87)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
点击右上角即可分享
微信分享提示