我正在编写一个由
组成的wtforms自定义表单多个布尔检查按钮/单选按钮
和隐藏文字输入。
如果用户点击“其他”按钮,则会启用textinput并且用户可以手动编写内容
如果用户取消选中“其他”按钮,则会禁用textinput。
这是绘制此功能的小部件功能(用于多个复选框):
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'<ul %s>' % 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'<li><input %s /> ' % html_params(**options))
html.append(u'<label %s>%s</label></li>' % (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'<input %s > ' % (html_params(**options)))
html.append(u'</ul>')
cPickle.dump(html, open("htmltest.p", "wb"))
return u''.join(html)
部分html.append(u'<input %s > ' % (html_params(**options)))
是添加textinput的地方。 (请注意options['type'] = 'text'
表示type="text"
标记的<input>
属性。问题是,如何制作隐藏的textinput(不是type="hidden"
),以便我可以稍后通过jquery显示它?
答案 0 :(得分:0)
添加隐藏它的样式:
<input type="text" style="display:none" id="myhiddentextfield" />
然后使用jQuery来显示它:
$('#myhiddentextfield').show();