如何将参数传递给onclick函数

时间:2017-09-18 10:52:56

标签: javascript html

我有一个li项目,我正在通过我的服务器从数据库中检索数据,但我无法这样做:

<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工作正常,但我无法传递参数并使用它。

2 个答案:

答案 0 :(得分: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,为什么不使用更多...

答案 1 :(得分:1)

您可以将this作为参数传递给onclick函数。

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