如果选中复选框,如何隐藏表格内联

时间:2018-10-24 13:53:02

标签: javascript python jquery django

如果未选中该复选框,我想隐藏Choices表单,我尝试使用jquery解决此问题,但似乎无法正常工作...

Image of what i'm trying to hide and the checkbox

asset_admin.js

console.log(django.jQuery('#id_is_multiple_choice'))
django.jQuery('#id_is_multiple_choice').change(function(){
if(django.jQuery("#id_is_multiple_choice").is(':checked'))
    {
        django.jQuery(".js-inline-admin-formset inline-group").show();
        console.log('showing element');
    }else
    {
        django.jQuery(".js-inline-admin-formset inline-group").hide();
        console.log('hiding element');
    }
});

初始console.log打印出来

jQuery.fn.init {}

和其他console.logs都不打印,因此由于某些原因,if语句没有被执行...这是html中的复选框

<div class="checkbox-row">     

<input type="checkbox" name="is_multiple_choice" id="id_is_multiple_choice" checked><label class="vCheckboxLabel" for="id_is_multiple_choice">Is the question multiple choice?</label>

</div>

这是我的admin.py,尽管我怀疑这与我的问题有关

class ChoiceTabularInline(admin.TabularInline):
    model = Choice

    class Media:
        js = ('/staticfiles/admin/js/assets_admin.js',
              '//ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js',
              )

1 个答案:

答案 0 :(得分:0)

尝试一下:

$("#id_is_multiple_choice").attr("checked") ? alert("Checked") : alert("Unchecked"); 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="checkbox-row">     

    <input type="checkbox" name="is_multiple_choice" id="id_is_multiple_choice"><label class="vCheckboxLabel" for="id_is_multiple_choice">Is the question multiple choice?</label>

    </div>