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);
}