2017-09-18 70 views
0

我有我通過我的服務器從數據庫中檢索數據裏的項目,但我不能這樣做:如何參數傳遞給一個onclick功能

<li name="Physics" value="Physics" id="physics" onclick="drawChart(id)">Physics</li> 

這drawChart功能使用谷歌圖表API。

function drawChart(value) { 
     var jsonData = $.ajax({ 
      url: "getData.php?subject=value", 
      dataType: "json", 
      async: false 
      }).responseText; 
... 

getData.php工作正常,但我無法傳遞參數並使用它。

+0

您正在使用的文字文本'value',不串聯變量的命名'value' –

+0

'drawChart(this.id)'和你的功能的實際值:'網址:「getData.php?subject =」+ encodeURIComponent(value),' – haim770

回答

2

停止使用內嵌的JavaScript,這個問題解決了它的自我

$('#physics').on('click', function() { 
 
    drawChart(this.id); 
 
}); 
 

 
function drawChart(value) { 
 
     var jsonData = $.ajax({ 
 
      url  : "getData.php", 
 
      data  : {subject : value}, 
 
      dataType : "json", 
 
     }).done(function(response) { 
 
      // use response here 
 
     }); 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<li name="Physics" value="Physics" id="physics" >Physics</li>

在你的代碼假設$.ajax是jQuery的,爲什麼不使用多了吧......

+0

你忘了連接實際的'value' – haim770

1

你可以通過this作爲onclick函數的參數。

function clickHandler(el) { 
 
    console.log(el.id); 
 
}
<button id="clickMe" onclick="clickHandler(this)">Click me</button>