jQueryUI自动完成:建议列表在第一个数字之后的奇怪行为

jQueryUI自动完成:建议列表在第一个数字之后的奇怪行为,jquery,asp.net,asp.net-mvc,jquery-ui,jquery-ui-autocomplete,Jquery,Asp.net,Asp.net Mvc,Jquery Ui,Jquery Ui Autocomplete,我在文本框上的自动完成遇到了以下问题:用户可以输入一个数字,并获得一个他应该得到的建议列表。这只适用于第一个数字,如果我点击第二个数字,列表会删除一些条目,我不知道为什么 要更详细地描述问题,请执行以下操作: 目前数据库中有以下数字: 123456 123457 123458 123459 1234510 1234511 1234512 1234513 123451 如果我输入1,所有9个条目都会按它们应该的那样出现在列表中。如果我键入12,则列表中只有这些条目: 123451 123456 1

我在文本框上的自动完成遇到了以下问题:用户可以输入一个数字,并获得一个他应该得到的建议列表。这只适用于第一个数字,如果我点击第二个数字,列表会删除一些条目,我不知道为什么

要更详细地描述问题,请执行以下操作: 目前数据库中有以下数字: 123456 123457 123458 123459 1234510 1234511 1234512 1234513 123451

如果我输入1,所有9个条目都会按它们应该的那样出现在列表中。如果我键入12,则列表中只有这些条目:

123451 123456 123457 123458 123459

剩下的都不见了,我真的不知道为什么。所以我希望你们能给我一个建议或者看看我的错误在哪里:

以下是视图用于创建自动完成功能的代码:

<script>
    $("#CompanyId").autocomplete({
        source: "/AutoComplete/AutoCompleteCompanyID",
        minLength: 1,
        select: function (event, ui) {
        }
    });
</script>

如果您需要更多的代码或信息,以便了解问题所在,我将尽快为您提供。谢谢你的帮助和建议!:)

我似乎无法复制这一点,但我认为这与将
CompanyID
转换为字符串有关,您可能需要将db结果强制转换为可枚举项-例如

var data = db.Companies.ToList().Where(s => s.CompanyID.ToString().Contains(term)).Select(x => new { id = x.CompanyID, label = x.CompanyName }).ToArray();

旁白:在
CompanyName
上运行搜索可能会更容易,相反,要求用户记住要搜索的公司的ID有点太多了。

所以你的意思是说在键入
12
之后,如果你删除并键入
1
则9个条目不会显示出来?嗨,谢谢你的回答。问题已解决,有关更多详细信息,请参阅下面的答案。您好,感谢您的帮助、代码片段和建议。这很符合逻辑,你不能复制它,因为我做了其他错误的事情,或者至少是不同的事情。我使用double来存储我的ID,因为在有些情况下,数字相当长,而我不认为长是一种类型。所以我从双打改为长打,现在一切正常。
var data = db.Companies.ToList().Where(s => s.CompanyID.ToString().Contains(term)).Select(x => new { id = x.CompanyID, label = x.CompanyName }).ToArray();