如何将单击的项目列表添加到输入字段并能够检索它们?

时间:2017-05-28 17:54:43

标签: javascript jquery

目前我点击国家/地区区域并将其专有名称添加到输入字段,我这样做是因为我需要将输入值发送到后端。这是我可以点击许多国家,所以这就是我目前为一个国家所做的事情:

<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中添加多个国家/地区名称,例如“意大利法国西班牙”,如果我们再点击它就能删除它们?

2 个答案:

答案 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()