【问题标题】:how to find the fieldset id in django's change_form.html using django jQuery如何使用 django jQuery 在 django 的 change_form.html 中找到字段集 id
【发布时间】:2012-01-23 07:27:00
【问题描述】:

我在 change_form.html 中有很多字段集。基于单击功能,我希望隐藏/显示一些字段集。如何获取字段集 ID?有超过 1 个字段集。

在 JavaScript 中 例如。 $('fieldset')[1].hidden =true; //根据某些条件为假

我想要一个与上述语句等效的 django jQuery。

我试过了,$("#fieldset")1 = true; 也试过 $("div.form-row.field1.field2").hidden = true;

我只想使用 django.jQuery,如下所示。如何访问字段集 1、2 和显示/隐藏功能。

(function($){
    $(document).ready(function($){
 //function to hide/show the fieldset related to POP3_status
 // if it is checked, show fieldset[1] and fieldset[2]
//if  it is not checked, hide fieldset[1], fieldset[2]

    $("#id_pop3_status").click(function(){
        var checked = $("#id_pop3_status").is(':checked');

        //not a POP3 account
        if (!checked){
        alert('not clicked');
                $("#fieldset")[1].hide();

        }
        //if the POP3_status is checked i.e it is POP3 account
        else {
        alert('clicked');
                $("#fieldset")[1].show();
        }
    });
    });
})(django.jQuery);

【问题讨论】:

    标签: jquery


    【解决方案1】:

    试试

     $("#fieldset").hide();
    

    如果你以后想再展示它,你可以使用

     $("#fieldset").show();
    

    【讨论】:

    • 我添加了类属性,它适用于显示/隐藏功能
    【解决方案2】:

    你尝试的东西都不是有效的 jQuery:

    $('fieldset')[1].hidden = true
    

    1) 当你下标一个 jQuery 对象集时,你会得到一个普通的 javascript 对象,所以你实际上需要做一些类似$($('fieldset')[1]) 的事情来把它变成一个 jQuery 对象。 2) hidden 不是有效属性;你需要.hide()/.show().css('display', 'none') 之类的东西。

    $("div.form-row.field1.field2").hidden = True
    

    1) 这实际上会选择divs 具有类“form-row”以及“field1”“field2”,它们不会匹配任何内容。你要找的是$('div.form-row.field1, div.form-row.field2')。 2) 关于hidden 不是上述有效属性的相同点适用

    【讨论】:

    • 我使用了 $(".form-row.field1.field2").hide() 或 show i.e 类,它工作正常
    猜你喜欢
    • 2010-09-23
    • 2011-07-01
    • 2019-01-01
    • 2014-11-30
    • 2014-05-12
    • 2012-02-05
    • 2015-04-30
    • 2014-02-02
    • 1970-01-01
    相关资源
    最近更新 更多