我一直在尝试使用 Django api 隐藏模型类中定义的隐藏字段的标签。模型的CRUD操作由Django admin管理。
我的模型是
class RackForm(django.forms.ModelForm):
def __init__(self, *args, **kwargs):
self.fields['racktypeid'].widget = \
forms.HiddenInput(attrs={'styles': 'display:none;'})
..... other initialization
生成的html源码如下
<div class="form-row racktypeid">
<div>
**<label for="id_racktypeid" class="required">Rack Type:</label>**
**<input styles="display:none;" name="racktypeid" value="3" onchange="changeRackType(this);" type="hidden" id="id_racktypeid" />**
<p class="help">The physical type of rack as defined in the rack type list</p>
</div>
</div>
该字段已被隐藏,但关联的标签未被隐藏。我什至尝试过使用 jQuery。我的语法可能有问题。如果是的话,如果我错了,请纠正我。
$(document).ready(function() {
// Hide label for RackForm rack type id label.
$('#id_racktypeid, label[for="#id_racktypeid"]').hide()
$('#id_racktypeid, label[for="#id_racktypeid"]').parent().hide()
});
});
所有选项均未成功。我需要做什么来隐藏隐藏字段的标签吗?
更新:最终我选择隐藏整个 div 标签。
最佳答案
您的问题源于使用 {{ form.as_p }}
或其他一些快捷函数来呈现表单。自己渲染表单就不会出现这个问题。
此外,在 Django 1.3 中,有一种更简单的方法来更改字段的小部件,请参阅 http://docs.djangoproject.com/en/1.3/topics/forms/modelforms/#overriding-the-default-field-types-or-widgets
关于javascript - 如何隐藏隐藏字段的标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5480997/