Coldfusion 如何在autosuggest中显示额外的详细信息,而在输入字段中仅显示ID?

Coldfusion 如何在autosuggest中显示额外的详细信息,而在输入字段中仅显示ID?,coldfusion,autosuggest,Coldfusion,Autosuggest,我正在使用ColdFusion autosuggest作为我的用户ID字段。当用户开始键入用户ID时,会弹出一个用户ID列表以及与之关联的用户名(由cfc函数填充)。示例代码: <cfinput name="userID" type="text" value="#userID#" autoSuggest="cfc:Utilities.suggestUser({cfautosuggestvalue})" matchcontains="true" /> 建议以“用户名”的格式列出。

我正在使用ColdFusion autosuggest作为我的用户ID字段。当用户开始键入用户ID时,会弹出一个用户ID列表以及与之关联的用户名(由cfc函数填充)。示例代码:

<cfinput name="userID" type="text" value="#userID#" autoSuggest="cfc:Utilities.suggestUser({cfautosuggestvalue})" matchcontains="true" />

建议以“
用户名
”的格式列出。因此,如果用户开始键入123,将弹出一个示例建议“Harvey Mann”


问题是,如果用户选择了该建议,我不想在输入字段中插入整个建议文本-我只想插入用户id(在本例中为“1234”)。如果可能,我还希望能够将用户名(“Harvey Mann”)插入相邻字段/区域。有什么方法可以做到这一点吗?

因为您使用的是CF内置的autosuggest实现,所以您只能访问一个返回值。因此,如果值由多个“部分”组成,并且希望将值的不同“部分”插入到不同的列中,则必须解析值并从字符串中提取适当的部分。在您的示例中,您可以将该值视为一个由分隔的列表,因为您使用的是CF的内置autosuggest实现,您只能访问一个返回值。因此,如果值由多个“部分”组成,并且希望将值的不同“部分”插入到不同的列中,则必须解析值并从字符串中提取适当的部分。在您的示例中,您可以将该值视为一个列表,列表由“非常感谢”分隔!这太棒了。它甚至不是regex:)(我希望可能会有其他方法返回单独的值,但怀疑不会有…)非常感谢!这太棒了。它甚至不是regex:)(我希望可能会有其他方法返回单独的值,但怀疑不会有…)
trim(listfirst(form.userID, "<"))
replace(listlast(form.userID, "<"), ">", "")
<cfajaxproxy bind="javaScript:showName({userID})">
<script type="text/javascript">
showName = function(strUserId) {
 document.getElementById("someID").innerHTML = strUserId.split('<')[0];
}
</script>