передать параметр в функцию onClick листовки easybutton

#javascript #leaflet

#javascript #листовка

Вопрос:

я работаю с листовкой easybutton, когда я создаю какую-либо кнопку с помощью forloop, и я хочу передать идентификатор нажатой кнопки в функцию onClick

 var Filetime = [0, 3, 6, 9, 12, 15, 18, 21]
  for (i = 0; i < Filetime.length; i  ) {
    var mybutton = L.easyButton({
      id:String(Filetime[i]),
      states:[{
        icon:'<strong>' String(Filetime[i]) '</strong>',
        onClick: function(e){
          alert(id)
        }]
    })
  

я ожидаю, что на выходе будет идентификатор моей кнопки, но у меня идентификатор ошибки не определен

Ответ №1:

id действительно не определено. могут быть полезны следующие:

 
var Filetime = [0, 3, 6, 9, 12, 15, 18, 21]
for (var i = 0; i < Filetime.length; i  ) {
    (function () {
        var id = String(Filetime[i])
        L.easyButton({
            id: id,
            states: [
                {
                    icon: '<strong>'   id   '</strong>',
                    onClick: function (e) {
                        alert(id);
                    }
                }
            ]
        });
    })();
}
  

Комментарии:

1. не удается создать кнопку

2. @vmphuong это приятно, так что не могли бы вы принять это как лучший ответ?