summaryrefslogtreecommitdiff
path: root/chimere/widgets.py
diff options
context:
space:
mode:
Diffstat (limited to 'chimere/widgets.py')
-rw-r--r--chimere/widgets.py20
1 files changed, 16 insertions, 4 deletions
diff --git a/chimere/widgets.py b/chimere/widgets.py
index a12d364..18a9ef1 100644
--- a/chimere/widgets.py
+++ b/chimere/widgets.py
@@ -253,9 +253,17 @@ class DatePickerWidget(forms.TextInput):
"""
def render(self, *args, **kwargs):
rendered = super(DatePickerWidget, self).render(*args, **kwargs)
- rendered += "\n<script type='text/javascript'>\n"\
- " $(function() {$('#%s').datepicker();});\n"\
- "</script>\n" % kwargs['attrs']['id']
+ rendered += """<script type='text/javascript'>
+ if (typeof(datepicker_list) === 'undefined') datepicker_list = [];
+ datepicker_list.push(
+ function(){
+ $('#%s').datepicker();
+ }
+ );
+ $(function() {
+ for (idx in datepicker_list) datepicker_list[idx]();
+ });
+ </script>""" % kwargs['attrs']['id']
return mark_safe(rendered)
@@ -755,7 +763,11 @@ class MultiSelectWidget(forms.SelectMultiple):
def render(self, name, value, attrs=None):
rendered = super(MultiSelectWidget, self).render(name, value, attrs)
rendered += """<hr class='spacer'/><script type='text/javascript'>
- $("#id_%(name)s").chosen({placeholder_text_multiple: "%(title)s"});
+ var render_id_%(name)s = function(){
+ $("#id_%(name)s").chosen({placeholder_text_multiple: "%(title)s"});
+ }
+ init_widget_list.push(render_id_%(name)s);
+ render_id_%(name)s();
</script>
<style>
.form-row, .related-widget-wrapper {