我正在编写一个wtforms自定义表单,它包括多布尔复选按钮/单选按钮
和一个隐藏的文本输入。
如果用户单击“其他”按钮,则启用文本输入,用户可以手动编写内容
如果用户取消单击“其他”按钮,文本输入将被禁用。
下面是一个widget函数,用于绘制(对于多个复选框):def select_multi_other_checkbox(field, ul_class='', **kwargs):
"""check wtforms.widgets.core to see what is going on"""
kwargs.setdefault('type', 'checkbox')
field_id = kwargs.pop('id', field.id)
html = [u'
- ' % html_params(id=field_id, class_=ul_class)]
for value, label, checked in field.iter_choices():
choice_id = u'%s-%s' % (field_id, value)
options = dict(kwargs, name=field.name, value=value, id=choice_id)
if checked:
options['checked'] = 'checked'
html.append(u'
' % html_params(**options))html.append(u'%s
' % (html_params(**options), cgi.escape(text_type(label))))else:
choice_id = u'%s-%s' %(field_id, u'other')
options = dict(kwargs, name=field.name, value='', id = choice_id)
options['type'] = 'text'
html.append(u' ' % (html_params(**options)))
html.append(u'
')cPickle.dump(html, open("htmltest.p", "wb"))
return u''.join(html)
部件html.append(u' ' % (html_params(**options)))是添加textinput的地方。(请注意,options['type'] = 'text'表示标记的type="text"属性)问题是,如何使隐藏的textinput(而不是type="hidden")以便以后通过jquery显示它?在