如果未选中该复选框,我想隐藏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',
)
答案 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>