Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/447.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery在值之前或之后添加空格(如果有多个)_Javascript_Jquery_Leaflet - Fatal编程技术网

Javascript jQuery在值之前或之后添加空格(如果有多个)

Javascript jQuery在值之前或之后添加空格(如果有多个),javascript,jquery,leaflet,Javascript,Jquery,Leaflet,当多个元素处于活动状态时,如果在原始值之前或之后生成了goo的附加值,如何添加空格 我尝试过类似于.text()+“” 更新添加了Plnkr,见下文。选择图层时,名称会添加到字段chartType,但如果选择了底图加上图层,则两者之间需要一个空格,如果只选择了一个图层,则不需要空格 删除单击功能并将其添加到下面var panelLayers=new L.Control.panelLayers(…) 请也给我们您的HTML。@Phong使用工作PLNKR更新。最简单的解决方法是在每个项目后添加一

当多个元素处于活动状态时,如果在原始值之前或之后生成了
goo
的附加值,如何添加空格

我尝试过类似于
.text()+“”

更新添加了Plnkr,见下文。选择图层时,名称会添加到字段
chartType
,但如果选择了底图加上图层,则两者之间需要一个空格,如果只选择了一个图层,则不需要空格


删除单击功能并将其添加到下面
var panelLayers=new L.Control.panelLayers(…)


请也给我们您的HTML。@Phong使用工作PLNKR更新。最简单的解决方法是在每个项目后添加一个空格。谢谢您的全面回复,效果很好。只是,如果只选择了“Boston Subway”,我如何删除
-
?目前它显示
-波士顿地铁(T)
。我已经用类似于
text.replace(/^-/,'')
的东西进行了测试,如果只选择了一个基本映射,但仍然没有选择所需的函数,那么
-
在末尾就有了相反的效果<代码>如果(activeOverlayers.length+activeBasemap.length>1){text+=“-”+activeOverlayers.join(“”;//或repalce“-”与“”),否则如果(activeOverlayers.length=1){text+=”+activeOverlayers.join(“”;//或repalce“-”与“”}我更新了
generateText()
函数。我希望你核对我的答案
$('.leaflet-panel-layers-selector').click(function(){
var goo = $( ".leaflet-panel-layers-item.active" ).text();

$('#chartType').val(goo);
});
var activeOverlayers = [];
var activeBasemap = "";
panelLayers.on('panel:selected',function(e){
    if(e.overlay){
        activeOverlayers.push(e.name);
    }else{
        activeBasemap = e.name;
    }
    generateText();
})

panelLayers.on('panel:unselected',function(e){
    if(e.overlay){
        if(activeOverlayers.indexOf(e.name) > -1){
            activeOverlayers.splice(activeOverlayers.indexOf(e.name),1);
        }
    }
    generateText();

})

function generateText(){
    var text = activeBasemap;
    if(activeOverlayers.length > 0 && activeBasemap != ""){
        text += " - " //Or repalce " - " with " "
    }
    text += activeOverlayers.join(" ");
    $('#chartType').val(text);
}