Coldfusion CaldFuxAutoSpCufft不适用于字符串中间的建议
对于我的自动建议,我使用下面的代码 键入时,它只查看字符串的开头。 例如,如果我键入'abcd',它将附带建议'abcde…',这很好 但它不起作用的是,如果我键入'def'并且在数据库中有一个字符串'abcdefg',那么这不会出现在自动建议中 在我的查询中,搜索字符串前后都有百分比字符 对我来说,它看起来像自动标识符,只看在开始时键入的字符,而不是在中间。 还是我做错了什么Coldfusion CaldFuxAutoSpCufft不适用于字符串中间的建议,coldfusion,Coldfusion,对于我的自动建议,我使用下面的代码 键入时,它只查看字符串的开头。 例如,如果我键入'abcd',它将附带建议'abcde…',这很好 但它不起作用的是,如果我键入'def'并且在数据库中有一个字符串'abcdefg',那么这不会出现在自动建议中 在我的查询中,搜索字符串前后都有百分比字符 对我来说,它看起来像自动标识符,只看在开始时键入的字符,而不是在中间。 还是我做错了什么 <cfcomponent output="false"> <cffunction name
<cfcomponent output="false">
<cffunction name="lookupJobs" access="remote" returntype="array">
<cfargument name="search" type="any" required="false" default="">
<cfset var qGetJobs="">
<cfset var result=ArrayNew(1)>
<cfquery name="qGetJobs" datasource="#application.dsn#">
SELECT DISTINCT title
FROM tbl_jobs
WHERE title LIKE '%#arguments.search#%'
ORDER BY title
</cfquery>
<cfloop query="qGetJobs">
<cfset ArrayAppend(result, title)>
</cfloop>
<cfreturn result>
</cffunction>
</cfcomponent>
多亏了Leigh,解决方案是使用cfinput
<cfinput type="text" name="title"
showautosuggestloadingicon="false"
autosuggest="cfc:autosuggest.lookupJobs({cfautosuggestvalue})"
matchContains="true">
我需要添加属性:当您遇到意外行为时,总是可以重新检查文档。这是根据的默认行为。可以将matchContains属性设置为true进行更改。谢谢你,Leigh,你说得对!我认为问题不在于cfinput,而在于完全不同的领域。很好,欢迎。顺便说一句,不要忘记在所有变量查询参数上使用cfqueryparam: