jQuery добавить пробел до или после значения, если несколько - PullRequest
0 голосов
/ 05 февраля 2020

Как добавить пробел, если дополнительное значение для goo сгенерировано до или после исходного значения, если несколько элементов равны active?

Я пробовал что-то вроде .text()+" "

$('.leaflet-panel-layers-selector').click(function(){
var goo = $( ".leaflet-panel-layers-item.active" ).text();

$('#chartType').val(goo);
});

ОБНОВЛЕНИЕ Добавлен Plnkr, см. Ниже. Когда слой выбран, имя добавляется в поле chartType, но когда выбрана базовая карта плюс слой, мне нужен пробел между двумя и пробел отсутствует, когда выбран только один.

https://embed.plnkr.co/hIBV05/

enter image description here

1 Ответ

1 голос
/ 05 февраля 2020

Удалите функцию щелчка и добавьте ее ниже var panelLayers = new L.Control.PanelLayers( ... )

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


Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...