【问题标题】:How to capture update event of Select2SingleSelectField in Turbogears?如何在 Turbogears 中捕获 Select2SingleSelectField 的更新事件?
【发布时间】:2014-08-26 17:58:46
【问题描述】:

一个表单中有两个SingleSelectField,比如Select2SingleSelectField1Select2SingleSelectField2。这两个字段的值都是从 DB 中检索的。 Select2SingleSelectField2 的内容取决于Select2SingleSelectField1 的选定值。

在控制器中如何捕获Select2SingleSelectField1的值?有人可以帮忙吗?谢谢。

我正在使用 Turbogears 2.3.3 和 Toscawidgets 2。在 Toscawidgets 网站上没有关于参数的文档。 Turbogears 网站上也没有。唯一的信息是 Toscawidgets 1 的 AutoCompleteField 示例 http://turbogears.org/2.0/docs/main/ToscaWidgets/Cookbook/AutoComplete.html

您可以通过设置参数completionURL来捕获事件。

from tw.jquery.autocomplete import AutoCompleteField

autoField = AutoCompleteField(
               id='myFieldName',
               completionURL = 'fetch_states',
               fetchJSON = True,
               minChars = 1)

【问题讨论】:

    标签: python ajax turbogears2 toscawidgets


    【解决方案1】:

    我并不完全清楚你的情况是什么,因为你说你正在使用 ToscaWidgets2,但你的代码示例与来自 TW1 的 tw.jquery.autocomplete 相关,你的单选被命名为“Select2SingleSelectField”,这让我觉得你实际上是使用 tw2.jqplugins.select2tw.jquery.autocomplete 无关,因为它是使用 jQueryUI 而不是 Select2 实现的 :)

    据我所知,tw2.jqplugins.select2 与使用 jQuery.select2 包装选择字段并没有太大区别,因此标准 Select2 documentation 适用,因为您可以从 javascript 中获取对 select2 的引用并像往常一样使用。

    否则你可能想试试axf.AjaxAutoCompleteField,它有更多的文档(不多,但至少有一个例子),它仍然在 Select2 上实现。

    在任何情况下,tw2.jqplugins.select2axf.AjaxAutoCompleteField 都不为依赖于其他字段提供任何特定的支持(在 axf 的情况下由 AjaxSingleSelectField 提供)所以那部分你将不得不滚动你自己的自定义解决方案。

    【讨论】:

    • 我是 TG 的新手。我最初的想法是实现一个单选字段的内容取决于另一个单选字段。天真的设计是:1,客户端向服务器发送ajax请求。 2,服务器捕获单选字段的更新事件。 3,服务器通过ajax响应将数据回传给客户端。 4,客户端通过回调函数更新另一个singleselectfield。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多