【问题标题】:Coldfusion stripping leading zeroes in autosuggestColdfusion在自动建议中去除前导零
【发布时间】: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})"
            />

想法?

【问题讨论】:

    标签: coldfusion autosuggest


    【解决方案1】:

    尝试附加一个空格,以便内置 JSON 序列化程序将其视为字符串而不是 JSON 中的 int。

    另外,请确保您已为您的 CF 版本安装了最新的修补程序。

    我想知道您是否需要“构建结果数组”。如果你返回 data.list 会发生什么?或者,也许改用ListToArray(valueList(data.list))

    【讨论】:

    • 嗯,升级和安装热修复确实使自动建议工作。但是,现在我的 cfgrids 坏了。是时候发布一个新问题了:(
    猜你喜欢
    • 2012-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-04
    • 1970-01-01
    • 1970-01-01
    • 2014-02-14
    相关资源
    最近更新 更多