Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/452.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将参数传递给onclick函数_Javascript_Html - Fatal编程技术网

Javascript 如何将参数传递给onclick函数

Javascript 如何将参数传递给onclick函数,javascript,html,Javascript,Html,我有一个li项,我正在通过它传递到服务器以从数据库检索数据,但我无法执行此操作: <li name="Physics" value="Physics" id="physics" onclick="drawChart(id)">Physics</li> getData.php工作正常,但我无法传递参数并使用它。停止使用内联javascript,问题自行解决 $(“#物理”)。在('click',function()上{ 绘图图(this.id); }); 函数绘图图(值

我有一个li项,我正在通过它传递到服务器以从数据库检索数据,但我无法执行此操作:

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

getData.php工作正常,但我无法传递参数并使用它。

停止使用内联javascript,问题自行解决

$(“#物理”)。在('click',function()上{
绘图图(this.id);
});
函数绘图图(值){
var jsonData=$.ajax({
url:“getData.php”,
数据:{subject:value},
数据类型:“json”,
}).完成(功能(响应){
//在这里使用响应
});
}


  • Physics
  • 停止使用内联javascript,问题自行解决

    $(“#物理”)。在('click',function()上{
    绘图图(this.id);
    });
    函数绘图图(值){
    var jsonData=$.ajax({
    url:“getData.php”,
    数据:{subject:value},
    数据类型:“json”,
    }).完成(功能(响应){
    //在这里使用响应
    });
    }
    
    
  • Physics
  • 您可以将此作为参数传递给onclick函数

    函数clickHandler(el){
    控制台日志(el.id);
    }

    单击我
    您可以将此作为参数传递给onclick函数

    函数clickHandler(el){
    控制台日志(el.id);
    }

    单击我
    您使用的是文本
    ,而不是将名为
    绘图图(this.id)
    的变量的实际值串联在一起,并且在您的函数中:
    url:
    您使用的是文本
    ,未连接名为
    value
    drawChart(this.id)
    的变量的实际值,并且在函数中:
    url:“getData.php?subject=“+encodeURIComponent(value)”
    您忘记连接实际
    function drawChart(value) {
          var jsonData = $.ajax({
              url: "getData.php?subject=value",
              dataType: "json",
              async: false
              }).responseText;
    ...