Я только что натолкнулся на нежелательную «особенность» 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})"
/>
Мысли?