为什么我不能用javascript迭代保存在html数据选择器上的这个数组?
Why can't I iterate over this array saved on an html data selector with javascript?
我在haml中有一个html元素,看起来像这样:
= select_tag 'release_version', options_for_select(major_releases(@releases)), include_blank: 'All', style: 'max-width: 30%', data: { releases: @releases }
@releases
变量是一个活动的记录关系对象,有一堆发布对象。
在我的coffefile中,我有这样的代码:
$('#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
)
当代码试图执行时,我得到这个错误:
application.js:35397 Uncaught TypeError: release_objects。Filter不是一个函数
当我用alert
检查元素时,对象看起来像这样:
[{
"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....]
这是一个可迭代的数据结构。我是不是漏掉了什么?
数据可能是JSON字符串而不是数组
尝试解析为json
release_objects = JSON.parse(release_html_selector.dataset.releases)
相关文章:
- 基于类别的筛选器数组
- Javascript筛选器数组抛出错误并崩溃
- 使用“$filter”后选择当前数组项,查看它是否在其中
- 通过下拉选择更改数组值
- 如果您知道名称为字符串,如何选择 JSON 数组
- 从 JSON 文件中选择特定数组
- jQuery 选择在数组数据属性中包含指定项的元素
- 使用 Jquery 比较每个数组索引的输入文本数组控件和选择选项数组控件的值
- 如何使用 D3 选择 JSON 数组.js 使用 .算子
- D3.js键功能在简单的选择器/数组组合上运行两次
- 在空的 jQuery 选择器数组上返回 “true”
- 具有相同名称和日期的筛选器数组
- 当有多个数组时,如何在javascript中选择“特定数组”值
- 由多个字符串组成的Javascript筛选器数组
- 选择INTO数组或对象
- 使用ng repeat选择json数组
- 在jQuery选择器数组中单击1项将应用于该数组中的所有元素
- 在jQuery中使用CSS选择器数组
- 存储jquery选择器数组
- 如何使用特定的选择器选择兄弟数组的每个子数组,而不需要循环