Opened 7 years ago
Closed 6 years ago
#29045 closed Bug (fixed)
admin CSS overrides Select/SelectMultiple size attribute
Reported by: | Jonah Bishop | Owned by: | Jonah Bishop |
---|---|---|---|
Component: | contrib.admin | Version: | 1.11 |
Severity: | Normal | Keywords: | |
Cc: | elky | Triage Stage: | Accepted |
Has patch: | yes | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description (last modified by )
I have an admin page set up for a model like so:
@admin.register(p_models.ScheduleType) class ScheduleTypeAdmin(admin.ModelAdmin): formfield_overrides = { models.ManyToManyField: {'widget': forms.SelectMultiple(attrs={'size': '30'})}, } list_display = ('name',)
The resulting ManyToMany field has the size attribute set properly, but every browser I try only shows about 8 rows (not 30, as I instructed). I've cleared cache, and tried in multiple browsers (Chrome 63, Firefox 57). My site uses Django 1.11.9.
It looks like the CSS style rules are overriding the size attribute. I'm guessing adding a height: auto; rule to the select[multiple] style set would fix it (it appears to do so in Chrome, at least).
Change History (5)
comment:1 by , 7 years ago
Description: | modified (diff) |
---|
comment:2 by , 7 years ago
Cc: | added |
---|---|
Summary: | Multiple select widget does not honor size attribute → admin CSS overrides Select/SelectMultiple size attribute |
Triage Stage: | Unreviewed → Accepted |
comment:3 by , 6 years ago
Owner: | changed from | to
---|---|
Status: | new → assigned |
comment:4 by , 6 years ago
Has patch: | set |
---|
I've added a pull request (https://github.com/django/django/pull/10169) with a small patch to fix this issue. The fix was quite simple: a new "height: auto;" rule for the select[multiple] style case.