Opened 6 years ago

Last modified 6 years ago

#29045 closed Bug

Multiple select widget does not honor size attribute — at Version 1

Reported by: Jonah Bishop Owned by: nobody
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 Jonah Bishop)

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 (1)

comment:1 by Jonah Bishop, 6 years ago

Description: modified (diff)
Note: See TracTickets for help on using tickets.
Back to Top