(Javascript / AJAX) Передача нескольких переменных в функцию onClick - PullRequest
0 голосов
/ 18 ноября 2018

Я пытаюсь отправить несколько переменных в качестве параметров в функцию ( redi ), вызываемую для события onClick. На данный момент я отправляю только один ( id ), не могу найти способ отправить несколько (я хочу отправить ему id, nome, cognome ). Я пытался с onclick = 'redi (this.id, nome, cognome)' , но похоже, что это ошибка из-за кавычек (nome, cognome - строки).

$.ajax({

   url: "<URL to backend script>",
   dataType: 'jsonp',
   jsonp: 'jsoncallback',
   timeout: 5000,
   success: function(data, status){
       $.each(data, function(i,item)
       { 
         var id = item.registrationID;
         var nome = item.registrationName;
         var cognome = item.registrationSurname;
         var id_referenza = item.registrationUsername;

         document.getElementById('divPaziente').innerHTML += "<a href='"+nome+"'><button class='button button-block button-positive' id='"+id+"' onclick='redi(this.id)'>"+nome+' '+cognome+' - '+id_referenza+"</button></a>";

         window.redi = function(elem)
         {
           alert("elem: "+elem);
           localStorage.setItem("id", elem);
         }
        });
        },
        error: function()
        {
          output.text('There was an error while loading data.');
        }
    }); 

Ответы [ 2 ]

0 голосов
/ 18 ноября 2018

Передача других переменных в виде строки с использованием escape-символов

redi(this.id,\'' + nome + '\',\'' + cognome + '\')
0 голосов
/ 18 ноября 2018

Попробуйте использовать атрибуты data-

<a href='"+nome+"'><button class='button button-block button-positive' id='"+id+"' data-nome="'+nome+'" onclick='redi(this.id,this.getAttribute("data-nome"))'>"+nome+' '+cognome+' - '+id_referenza+"</button></a>

Примечание: пожалуйста, избегайте использования innerHTML, вместо этого используйте appendChild ()

...