使用自动完成功能禁用区分大小写

时间:2013-03-13 14:22:20

标签: jquery autocomplete case-sensitive

我对jQuery自动完成有疑问。当我在字段中写一些像“LI”的东西时,我需要自动完成返回所有以“LI”开头的单词(小写和大写的单词)。但是当我写这篇文章时,自动完成只会返回大写的单词。有可能改变这个吗?

更新:我找到了一种方法,我不知道这是否正确,但......我正在使用它。它只是放入自动完成“ILIKE”的“SELECT”,而不是“LIKE”。它适用于我,但(再次)我不知道这是否是正确的方法!

3 个答案:

答案 0 :(得分:1)

最简单的解决方案是什么? 我的解决方案是在PHP + MySQL中,但您可以根据需要调整它。

$upperString = strtoupper($stringToCompare);
$query .= "SELECT blablabla WHERE UPPER(columnName) LIKE '%$upperString%'";

像魅力一样工作

Linuxatico

答案 1 :(得分:0)

根据您为自动填充构建列表的方式,这可能会自动内置,例如,在我的C#代码中对我来说无关紧要,而实体框架与MySQL数据库相反。

//Builds a search list for Card Name Search boxes
public JsonResult GetACResults(string term) 
{
    return Json((from item in db.tableName
        where item.NameOfInterest.Contains(term)
        select new
        {
            value = item.NameOfInterest
        }).Distinct().OrderBy(x => x.value).ToList(),
        JsonRequestBehavior.AllowGet);
} //public JsonResult GetACResults(string term)

如果这是somthign你必须自己处理,你可以看看这篇文章作为解决方案: Case insensitive 'Contains(string)'

答案 2 :(得分:-1)

我找到了一种方法,我不知道这是否正确,但......我正在使用它。 它只是将自动填充“ILIKE”的“SELECT”放入,而不是“LIKE”。它适用于我,但(再次)我不知道这是否是正确的方法!

:)