我正在尝试获取之前已包含列表的IENumerable
类型ViewBag
中的列表结果。
我正在使用运行中的viewbag返回列表 -
[HttpGet]
public ActionResult RangerCard() {
var taglist = (from u in db.TagTables
where u.TagName.Contains(tag)
select u).ToList();
ViewBag.TagName = taglist;
return View();
}
退出清单 -
@if (ViewBag.TagName != null) {
foreach (var item in ViewBag.TagName) {
<p class="tag-division">
<a id="@item" class="tag-in-dropdown" href="#"># @item</a>
</p>
}
}
看起来像 -
此操作会返回下拉菜单中的所有标记。现在,我想在用户在此文本框中写入时立即过滤此结果。
如果是tagName RipEnglish
-
我根据本文使用ajax查询过滤标签 -
#cardhascode
是输入文本框的ID。
$('#cardhashcode').keyup(function () {
var tag = $('#cardhashcode').val();
$.ajax({
url: '/Upload/JsonTagList/?tag=' + tag,
type: 'Post',
success: function (data) {
}
});
});
然后行动 -
[HttpPost]
public ActionResult JsonTagList(string tag) {
var taglist = (from u in db.TagTables
where u.TagName.Contains(tag)
select u).ToList();
return Json(taglist);
}
以上操作过滤器标签,但我无法处理输出结果。如何在此下拉菜单中将此过滤器结果显示为过滤结果。
注意 -
此结果以列表类型显示。因此,每个keyup
事件都可以有多个标记。
感谢您的帮助。
答案 0 :(得分:0)
在成功处理程序中,您的意思是这样吗:
if(data){
data.forEach(function(item){
$('#yourtagcontainer').append('<p class="tag-division"><a id="'+item+'" class="tag-in-dropdown" href="#"># '+item+'</a></p>');
});
}
干杯。