我有一个带有自动完成和zoneUpdater mixins的Textfield。根据输入的值,我调用service返回自动完成选择的新值。到现在为止还挺好。对我来说最大的问题是自动完成选择不提交所选值。我想基于此值更新不同的区域。它现在的工作方式是我必须提交整个表格并重新打开。但这不是客户想要的,它应该在不提交表格的情况下即时完成。这有什么解决方案吗?谢谢。
答案 0 :(得分:4)
我想根据此值更新不同的区域。
我尝试使用您的设置执行此操作并且实际工作但缺点是我作为输入的CHANGE事件获得的值是用户键入的内容(而不是用户从自动完成列表中选择的内容)。< / p>
要从自动填充列表中选择值(虽然我没有尝试过),您应该使用callback parameter of prototype's Autocompleter。考虑到为了做到这一点,你应该重写一个新的Autocompleter mixin属于你自己,因为Tapestry的内置自动完成mixin并不尊重该回调参数。
我还检查了tapestry-jquery的Autocomplete mixin,虽然jquery的自动完成支持autocompleteselect event tapestry-jquery在它的实例化中没有处理它。
我没有检查过chenille kit autocomplete mixin,它可能对你有帮助,我真的不知道。
据我所知,你应该根据其中的任何一个开发自己的Autocomplete mixin,并添加所选的项目事件功能。