示例#1
0
 def __call__(self, field, **kwargs):
     kwargs.setdefault("id", field.id)
     if self.multiple:
         kwargs["multiple"] = True
     html = ["<select %s>" % html_params(name=field.name, **kwargs)]
     for val, label, selected in field.iter_choices():
         if callable(val):
             html.append("<optgroup label='%s'>" % escape(text_type(label)))
             for child_val, child_label, child_selected in val():
                 html.append(
                     Select.render_option(child_val, child_label,
                                          child_selected))
             html.append("</optgroup>")
         else:
             html.append(Select.render_option(val, label, selected))
     html.append("</select>")
     return HTMLString("".join(html))
示例#2
0
    def __call__(self, field, **kwargs):
        kwargs.setdefault('id', field.id)

        if self.multiple:
            kwargs['multiple'] = True

        html = ['<select %s>' % html_params(name=field.name, **kwargs)]

        for val, label, selected in field.iter_choices():
            if callable(val):
                html.append('<optgroup label="%s">' % escape(text_type(label)))

                for child_val, child_label, child_selected in val():
                    html.append(Select.render_option(child_val, child_label, child_selected))

                html.append('</optgroup>')
            else:
                html.append(Select.render_option(val, label, selected))

        html.append('</select>')
        return HTMLString(''.join(html))
示例#3
0
 def render_option(cls, value, label, selected, **kwargs):
   if value is None:
     return HTMLString('<option></option>')
   return Select.render_option(value, label, selected, **kwargs)
示例#4
0
    def render_option(self, value, label, selected, **kwargs):
        if self.labelizer:
            label = self.labelizer(label)

        return wtfSelect.render_option(value, label, selected, **kwargs)
示例#5
0
    def render_option(self, value, label, selected, **kwargs):
        if self.labelizer:
            label = self.labelizer(label)

        return wtfSelect.render_option(value, label, selected, **kwargs)