通过HTML SELECT对象筛选Json功能
Filter Json Features by HTML SELECT object
我有以下网站Brazil1和Brazil2
我上传了一些GPS站(Json点功能),我需要使用HTML选择对象:选择一个特定的GPS站(基于站名"Estação RBMC")
<select name="sometext" >
<option value="MGRP">mgrp</option>
<option value="MGV1">mgv1</option>
<option value="VICO">vico</option>
<option value="MGBH">mgbh</option>
</select>
我的第一次尝试是URL,但我不太了解。
有人能给我一个提示吗?
谢谢你抽出时间。
在select
元素中指定的重要内容是id
,因为它将用于添加事件侦听器。类似这样的东西:
<select id="sta_select">
<option>(select station)</option>
<option value="MGRP">mgrp</option>
<option value="MGV1">mgv1</option>
<option value="VICO">vico</option>
<option value="MGBH">mgbh</option>
</select>
然后,您可以基于id
:添加事件侦听器
var sta_select = L.DomUtil.get("sta_select");
L.DomEvent.addListener(sta_select, 'click', function (e) {
L.DomEvent.stopPropagation(e);
});
L.DomEvent.addListener(sta_select, 'change', changeHandler);
使用stopPropagation
方法的click
侦听器是为了防止在选择器上的单击与贴图窗格重叠时传播到贴图,贴图窗格可以(根据您的设置)立即取消选择要高亮显示的层。change
侦听器将运行一个处理程序函数,您可以将其设置为执行任何您想要的操作。在这里,我将其设置为在选择相应的option
时打开标记的弹出窗口(基于选项元素中的value
属性和geoJson层中的SG_RBMC
属性之间的匹配):
function changeHandler(e) {
for (i in estacoes_rbmc._layers) {
if (estacoes_rbmc._layers[i].feature.properties.SG_RBMC === e.target.value) {
estacoes_rbmc._layers[i].openPopup();
}
}
}
这是一把小提琴,显示它在工作:
http://jsfiddle.net/nathansnider/80qcstLf/
还有一个有点花哨的版本,它将选择元素放在传单控件中的地图上,并自动填充选项属性:
http://jsfiddle.net/nathansnider/avn0ph1p/
相关文章:
- 是否有将基于字符串的JSON转换为Mongoose Schema对象实例的本地功能
- 从文件目录结构创建JSON数据的有效功能
- 是否有任何功能可以合并两个JSON数据集并替换旧信息?(节点.JS)
- 如何在 Javascript for IE8 中加载 JSON 功能
- 画布游戏 Json 功能仅适用于网页检查器
- 自动完成功能,用于按属性搜索 json 对象
- Json Object不能使用parse.com云功能Android强制转换为Float
- 带有JSON结果的JQuery自动完成功能不起作用
- BlackBerry浏览器中的JSON解析功能
- 通过HTML SELECT对象筛选Json功能
- 编辑JSON对象-寻找更好的功能方法
- 使用json和功能搜索填充级联下拉列表
- 错误在谷歌分析AJAX功能上的JSON响应
- 从对列表中获取JSON值作为Array(用于自动完成功能)
- ie9不渲染,直到ajax/json功能完成后
- JQuery/JSON自动完成功能
- HTML搜索功能使用JScript (JQuery)和JSON
- Json转PHP代码,需要功能改进
- 显示加载功能,直到JSON数据从API加载
- jQuery计数JSON的键和值(这个功能可以工作吗?)