jQuery循环将多个数组组合在一起-Mapbox-map.setFilter()
jQuery loop to put together multiple arrays - Mapbox map.setFilter()
Mapbox的新GL API已被证明难以使用。我想知道我是否可以通过jQuery的每个函数来构建一个具有这种奇怪格式的数组。
我正在创建一个带有类别复选框的表单,该复选框将过滤地图上显示的标记。我使用$.each()
循环来获取检查的输入,获取它们的ID,并将其放入每个数组的中间。一个选中的输入是一个数组。
基本上,我需要把数组放在一起:
map.setFilter('markers', ["any",
['in',c1,true],
['in',c2,true], // these 3 arrays
['in',c3,true]
] );
但很明显,我需要在检查时动态地完成这项工作。以下是我想使用的不完整的jQuery:
jQuery('input.checkbox-child').change(function(){
args = new Array();
jQuery('input.checkbox:checked').each(function(){
id = jQuery(this).attr('id');
filter = ['in',id,true];
// ???
});
map.setFilter('markers', ["any", args] );
});
不知道如何将filter
变量连接在一起以形成逗号分隔的数组列表,类似于在setFilter函数中使用的['in',id,true],['in',id,true],['in',id,true]...
。
我认为这应该适用于您想要的
var args = [];
jQuery('input.checkbox-child').change(function(){
jQuery('input.checkbox:checked').each(function(){
var id = jQuery(this).attr('id');
var filter = ['in',id,true];
args.push(filter);
});
map.setFilter('markers', ["any"].concat(args));
});
相关文章:
- 将依赖外部库的UMD模块与browserfy捆绑在一起
- _.map在返回时覆盖值
- 如何将具有相同功能的两个select html标签的两个JS组合在一起
- 将3个函数合并在一起
- 使用javascript将两个输入的日期添加在一起
- 避免将lib依赖项与webpack+handlebas加载程序捆绑在一起
- PHP、Javascript和SQL代码混杂在一起
- 有没有办法把它们串在一起,这样它们基本上可以同时工作
- PHP:同时循环元素粘在一起
- 把两个数字加在一起,得到5+10=510,而不是15
- 我怎样把这些剧本写在一起
- 安全地包装JS文件,这样当它们连接在一起时,它们仍然可以工作
- 如何将遗留的js文件与webpack捆绑在一起
- 在 JavaScript 中使用侦听器将输入字段链接在一起
- Image Map 在 FF 和 IE 中不起作用(使用 onclick javascript)
- 如何将表链接在一起
- 如何有效地匹配两个不同 JavaScript 对象上的 id,并将它们合并在一起
- 我想通过单击按钮将 2 个 php 文件链接在一起
- JavaScript 将字符串与退格符连接在一起
- jQuery循环将多个数组组合在一起-Mapbox-map.setFilter()