Handle selects (etc) with numeric keys #4688
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
When select fields (or radio/checkboxes/button_group fields) use numeric options, like this...
...the fieldtype ends up saving the value as a string (javascript objects can't have numeric keys), so you end up with this:
Then in #4483, it was made so that if the value didn't match an option exactly, it would use itself as the value and label.
The string version of the number does not exactly equal the option in this case.
This PR makes it so that integer strings get treated as integers.
ie. both these work
Floats get treated as strings though, since you can't have a float as a key in PHP. They'll be strings, even if there's a real float in the data.
ie. both these work:
Fixes #4574