【发布时间】:2011-09-24 04:00:49
【问题描述】:
我刚刚遇到了 CF 不需要的“功能”,它涉及从返回到自动建议输入的值中去除前导零。我在想我可以在值前面加上一些字符并在返回后将它们去掉,但遇到了障碍。我正在修改一个现有函数,如下所示:
<cffunction name="lookupTailNumber" access="remote" returntype="Array" >
<cfargument name="search" type="any" required="false" default="">
<!--- Define variables --->
<cfset var data="">
<cfset var result=ArrayNew(1)>
<!--- Do search --->
<cfquery name="data">
SELECT DISTINCT SERIAL_NUMBER AS list
FROM aircraft_status
WHERE SERIAL_NUMBER LIKE '%#trim(ARGUMENTS.search)#%'
ORDER BY list
</cfquery>
<!--- Build result array --->
<cfloop query="data">
<cfset ArrayAppend(result, list)>
</cfloop>
<!--- And return it --->
<cfreturn result>
</cffunction>
返回如下所示的响应:
[3001.0,1.00002E8,1.00002001E8,1.00002002E8,1.00002003E8,1.00002004E8]
或 JSON 格式:
0 3001
1 100002000
2 100002001
3 100002002
4 100002003
所有结果都去掉了前导零。我尝试修改查询以在每个值前添加一个字符:
<cfquery name="data">
SELECT DISTINCT (concat(' ', SERIAL_NUMBER)) AS list
FROM aircraft_status
WHERE SERIAL_NUMBER LIKE '%#trim(ARGUMENTS.search)#%'
ORDER BY list
</cfquery>
返回这个:
[" 0000003001"," 0100002000"," 0100002001"," 0100002002"," 0100002003"," 0100002004"]
所以你会认为一切都很好,对吧?问题:返回时,自动建议字段中没有显示任何值!!!我也尝试过添加不同的字符,包括数字,但没有成功。查看 yui-ac-bd div > ul 中的元素,没有填充或显示。
输入声明如下:
<cfinput style = "width:300px;"
class = ""
type="text"
name="txtvalueFilter"
maxlength="15"
id="txtvalueFilter"
autosuggest="cfc:mycfcpath({cfautosuggestvalue})"
/>
想法?
【问题讨论】: