I have an html element in haml that looks like this:
= select_tag 'release_version', options_for_select(major_releases(@releases)), include_blank: 'All', style: 'max-width: 30%', data: { releases: @releases }
The @releases
variable is an active record relation object with a bunch of release objects.
In my coffeefile, I have this code:
$('#release_version').on 'change', ->
selVal = $('#release_version').val()
release_html_selector = document.getElementById('release_version')
release_objects = release_html_selector.dataset.releases
filtered_releases = release_objects.filter((item) ->
///^#{selVal}///.test item.version
)
When the code tries to execute I get this error:
application.js:35397 Uncaught TypeError: release_objects.filter is not a function
When I inspect the elements with alert
the object looks like this:
[{
"id":398,
"kb_release_id":"vwu3jiwk86",
"released_on":"2009-05-15T00:00:00.000Z",
"version":"2.1.1",
"created_at":"2016-09-15T20:36:42.831Z",
"updated_at":"2016-09-15T20:36:42.831Z"},
{},
{},
etc....]
This is an iterable data structure. Is there something I'm missing here?
It's possible that the data is actually JSON string not array
Try parsing it as json
release_objects = JSON.parse(release_html_selector.dataset.releases)
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.