Как зафиксировать событие обновления Select2SingleSelectField в Turbogears?

В форме есть два SingleSelectField, скажем, Select2SingleSelectField1 и Select2SingleSelectField2. Значения обоих полей извлекаются из БД. Содержимое Select2SingleSelectField2 зависит от выбранного значения Select2SingleSelectField1.

В контроллере как зафиксировать значение Select2SingleSelectField1? Может ли кто-нибудь помочь с этим? Спасибо.

Я использую Turbogears 2.3.3 и Toscawidgets 2. На веб-сайте Toscawidgets нет документации о параметрах. На сайте Turbogears тоже нет. Единственная часть информации — это AutoCompleteField пример Toscawidgets 1 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)

person wei    schedule 26.08.2014    source источник


Ответы (1)


Мне не совсем понятно, какова ваша ситуация, поскольку вы заявили, что используете ToscaWidgets2, но ваш пример кода относится к tw.jquery.autocomplete, который был из TW1, и ваш единственный выбор называется «Select2SingleSelectField», что заставляет меня думать, что вы на самом деле используете tw2.jqplugins.select2, который ничего не имеет что делать с tw.jquery.autocomplete, поскольку он был реализован с использованием jQueryUI, а не Select2 :)

Насколько я вижу, tw2.jqplugins.select2 не сильно отличается от переноса поля выбора в jQuery.select2, поэтому стандартная документация по Select2 применяется, так как вы можете получить ссылку на select2 из javascript и использовать, как обычно.

В противном случае вы можете попробовать axf.AjaxAutoCompleteField, который имеет немного больше документации. (немного, но хотя бы есть пример), который до сих пор реализован на Select2.

В любом случае как tw2.jqplugins.select2, так и axf.AjaxAutoCompleteField не обеспечивают какой-либо конкретной поддержки зависимости от других полей (что в случае axf предоставляется AjaxSingleSelectField), поэтому в этой части вам придется свернуть свое собственное решение.

person amol    schedule 27.08.2014
comment
Я новичок в ТГ. Моей первоначальной мыслью было реализовать, чтобы содержимое singleselectfield зависело от другого singleselectfield. Наивный дизайн был бы таким: 1, клиент отправляет запрос ajax на сервер. 2, сервер фиксирует событие обновления singleselectfield. 3, сервер отправляет данные клиенту через ответ ajax. 4 клиент обновляет другое поле singleselect с помощью функции обратного вызова. - person wei; 27.08.2014