如何隐藏隐藏字段的标签

时间:2011-03-30 01:44:08

标签: javascript python django django-admin

我一直试图使用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标签。

1 个答案:

答案 0 :(得分:-1)

您的问题源于使用{{ form.as_p }}或其他一些其他快捷方式来呈现您的表单。自己渲染表单,你就不会遇到这个问题。

此外,在Django 1.3中,有一种更简单的方法来更改字段的窗口小部件,请参阅http://docs.djangoproject.com/en/1.3/topics/forms/modelforms/#overriding-the-default-field-types-or-widgets