Как найти идентификатор набора полей в django change_form.html, используя django jQuery - PullRequest
0 голосов
/ 23 января 2012

У меня есть много наборов полей в файле change_form.html.Основываясь на функции щелчка, я хочу скрыть / отобразить некоторые из наборов полей.Как мне получить идентификатор fieldset?Существует более 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);

Ответы [ 2 ]

0 голосов
/ 23 января 2012

Ничто из того, что вы пробовали, не было действительным 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) Это фактически выберет div s, которые имеют класс "form-row", а также "field1"" и " field2 ", что ни к чему не приведет.То, что вы ищете, это $('div.form-row.field1, div.form-row.field2').2) Тот же бит о том, что hidden не является допустимым свойством, указанным выше, применяется

0 голосов
/ 23 января 2012

Попробуйте

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

А если позже вы захотите показать его снова, вы можете использовать

 $("#fieldset").show();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...