【问题标题】:coldfusion cfform autosuggest - how to pass the locationid when the user is being suggested the locationname?Coldfusion cfform autosuggest - 当用户被建议位置名称时如何传递 locationid?
【发布时间】:2014-06-24 11:32:39
【问题描述】:

我已经决定是时候开始使用 cfform 了(3 分钟后,我已经遇到了我的第一个绊脚石!)

我想要一个自动提示文本输入,供用户选择城市。在我的数据库中,我有 locationnames 和 locationids。

例如

----------------------------
locationid   |   locationname
----------------------------
1      |      London
2      |      New York
3      |      Paris
etc.
-----------------------------

用户将开始输入 locationname - 我希望自动建议显示匹配的 locationnames,但是当他们提交表单时,我实际上希望传递 locationid。

我到底如何使用 cfform 做到这一点?

【问题讨论】:

  • 你有一个与编程代码无关的困境。位置名称不是唯一的。在您提供的样本中,有安大略省的伦敦和英国的伦敦。您需要一个计划,让用户为您提供具体信息。一旦你知道你想如何处理它,你就可以担心编码了。
  • 遗憾的是,否决了这个问题的人没有勇气解释原因。
  • 要解决的另一件事是用户可能会忽略自动建议并提交根本不在您的数据库中的值。
  • 如果你需要它来匹配为什么不使用<select> 这样用户就不会错过拼写的东西,你也不必担心用户输入正确的唯一位置。只要 kwispel 的回答与问题无关,它就会很好地解决您的问题。
  • 感谢 Dan 和 Will = 非常感谢您的帮助。正如您所说的位置名称不是唯一的(我在我的问题的示例中进行了释义 - 为了清楚起见,我包括了县)。

标签: coldfusion autosuggest cfform


【解决方案1】:

首先不要使用 cfform 或任何其他与 UI 相关的 Coldfusion 废话。
看看 Twitter 上优秀的 Typeahead JQuery 插件吧:http://twitter.github.io/typeahead.js/examples/

【讨论】:

  • 减号 1. 虽然 cfform 抨击在这个论坛上很流行,但您的回答与问题无关,它与位置 ID 有关。
  • 感谢 kwispel 和 Dan,实际上似乎最好的做法是不再将 CF 用于前端的东西。我已经使用了 jquery 插件(上面有详细信息) - 感谢您的帮助,非常感谢。
【解决方案2】:

您实际上可以只使用位置名称并在提交时查找 id,只要您的位置名称是唯一的。如果不是,如安大略省伦敦的示例,那么您需要在查找值中包含州或县名称,用逗号分隔,以便您可以在提交表单时再次解析位置名称。正则表达式可以取出一组中的 locationName 和下一组中的 stateName。然后查询其中 location = locationName 和 state = stateName。

【讨论】:

  • 谢谢 dcoli - 是的,我同意(我在我的问题中解释了 - 我照你说的做,并且还包括县) - 谢谢你的帮助 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-05
  • 1970-01-01
  • 2020-04-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多