[wp-trac] [WordPress Trac] #31885: Widgets in Customizer fail to sync options in select[multiple]
WordPress Trac
noreply at wordpress.org
Sat Apr 4 05:47:39 UTC 2015
#31885: Widgets in Customizer fail to sync options in select[multiple]
--------------------------+-----------------
Reporter: westonruter | Owner:
Type: defect (bug) | Status: new
Priority: normal | Milestone: 4.2
Component: Customize | Version: 3.9
Severity: normal | Keywords:
Focuses: javascript |
--------------------------+-----------------
When a widget is updated in the Customizer, the form values are serialized
and sent via Ajax to pass through the widget's update callback. The widget
form with the sanitized values is then sent in the Ajax response. The form
inputs in the Ajax response are then copied over from the response into
the existing form. This sync logic, however, does not account for the
special case of `select[multiple]` inputs which lack a single `value` to
synchronize: the value to synchronize is an array of zero or more values.
The issue with synchronizing the `selected` state among a
`select[multiple] option` elements is particularly evident when the
widget's underlying setting is changed programmatically, as opposed to
direct user input. Here is a demonstration of the issue by using a widget
undo/redo feature: https://cloudup.com/cuSHMWiSgdM
Big props to [https://github.com/davidlonjon davidlonjon] for discovering
this issue and suggesting a fix.
--
Ticket URL: <https://core.trac.wordpress.org/ticket/31885>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform
More information about the wp-trac
mailing list