.keyup事件替代

编程入门 行业动态 更新时间:2024-10-22 17:19:17
本文介绍了.keyup事件替代的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我有一个简单的自动完成测试,硬codeD数据的工作。

I have a simple autocomplete test which works with hard coded data.

然而,当我添加自己的数据(包含超过1000个数据),它不工作,只显示第一个字母,所以如果我的数据是苹果

However when i add my own data (which contains over 1000 data) it doesn't work and only shows the first letter, so if my data is "Apple"

在我的B型 - 它显示了香蕉,但我不能输入BA为A消失

when i type B - it shows Banana but i cannot type "BA" as the "A" disappears.

我期待我能写全字,而不是第一个字母。

I was expecting that i can write the whole word rather than the first letter.

这是工作code:

var validOptions = ["Bold", "Normal", "Default", "100", "200"] previousValue = ""; $('#ac').autocomplete({ autoFocus: true, source: validOptions }) .keyup(function() { var isValid = false; for (i in validOptions) { if (validOptions[i].toLowerCase().match(this.value.toLowerCase())) { isValid = true; } } if (!isValid) { this.value = previousValue } else { previousValue = this.value; } });

所以这些信件:大胆,普通,默认,100,200的工作,但

So these letters: Bold", "Normal", "Default", "100", "200" work. BUT

当我改变v​​alidOptions为:

var validOptions ='@Url.Action("SerialProdNumStockSiteAutoComplete", "Ajax")?stocksitenum=LW&model=' + $("#Form_Prod_Num").val();

它不工作,因为它应该。

It doesn't work as it should.

有另一种方式来做到这一点,或者你知道,我要去哪里错了。

is there another way to do this, or do you know where i'm going wrong.

这个问题是关于替代.keyup

SerialProdNumStockSiteAutoComplete code:

SerialProdNumStockSiteAutoComplete code:

public JsonResult SerialProdNumStockSiteAutoComplete(string term,string stocksitenum,string model) { return Json(AutoComplete.DeviceFromStockSite(term, stocksitenum, model), JsonRequestBehavior.AllowGet); }

现货设备:

public static List<string> DeviceFromStockSite(string term, string stocksitenum, string model) { //devices will always come from serialised stock var qryStock = SC42Ctx.SPNlocs .Where(x => x.Nloc_Site_Num.StartsWith(stocksitenum) && x.Nloc_Part_Num == model && x.Nloc_Ord_Num == null) .Select( s => new TicketSerialNumber { SerialNumber = s.Nloc_ID_Num, Source = stocksitenum, Call = s.Nloc_Ord_Num.ToString() }) .ToList();

当我复制此显示的网址:

When i copy the URL this shows:

localhost:58172/Ajax/SerialProdNumStockSiteAutoComplete?stocksitenum=LW&model=MP4000BADP&term=4&_=1433235435372

这是当我进入4并且不可能添加任何其他

This was when i entered 4 and couldnt add anything else

推荐答案

右键我已经找到答案

简单的东西:

var source = validOptions; var found = $('.ui-autocomplete li').text().search(source); console.debug('found:' + found); if (found < 0) { $(this).val(''); alert("please select from auto complete"); }

更多推荐

.keyup事件替代

本文发布于:2023-11-11 07:04:36,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1577718.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:事件   keyup

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!