目前我点击国家/地区区域并将其专有名称添加到输入字段,我这样做是因为我需要将输入值发送到后端。这是我可以点击许多国家,所以这就是我目前为一个国家所做的事情:
<input type="text" id="usp-custom-3">
function zoomToFeature(e) {
this.getElement().classList.toggle('active');
var name = e.target.feature.properties.name;
jQuery("#usp-custom-3").val(name);
}
function onEachFeature(feature, layer) {
layer.on({
click: zoomToFeature
});
}
使用this.getElement().classList.toggle('active');
我的意思是当我点击国家多边形时。正如我所说,我可能点击了多个国家/地区,那么如何在input
中添加多个国家/地区名称,例如“意大利法国西班牙”,如果我们再点击它就能删除它们?
答案 0 :(得分:0)
保留一个数组并显示?
var selected=[];
function zoomToFeature(e) {
this.getElement().classList.toggle('active');
var name=e.target.feature.properties.name;
var i;
if((i=selected.indexOf(name))+1){//check if existing
selected.splice(i,1);//remove
}else{
selected.push(name);//add
}
jQuery("#usp-custom-3").val(selected.join("<br>"));//show with each being in a new row
}
function onEachFeature(feature, layer) {
layer.on({
click: zoomToFeature
});
}
答案 1 :(得分:0)
可能是这样的:
<div>
<p>Italy</p>
<p>Spain</p>
<p>Germany</p>
</div>
<input type="text">
foo()