在创建 onchange 的 javascript 中传递两个变量

Posted

技术标签:

【中文标题】在创建 onchange 的 javascript 中传递两个变量【英文标题】:Pass two variables in a javascript created onchange 【发布时间】:2022-01-21 07:42:41 【问题描述】:

我正在使用 DataTables 并有一个复选框。在更改时,我会触发一个功能。我想像这样将两个变量传递给函数:

data: null,
      className: "center",
      render: function(data,type,row) 
            alert(data.sesId);
           if(data.checkedIn === "N")
               return ("<input type='checkbox' id=" + data.patId + " name='update' onchange='patientCheckInFunction(this," + data.sesId + ")' style='zoom: 2.0;'>");
           else
               return ("<input type='checkbox' id=" + data.patId + " name='update' onchange='patientCheckInFunction(this," + data.sesId + ")' style='zoom: 2.0;' checked>");
           
        ,
,

这在控制台日志中给了我一个“意外的令牌')'”。

如果我有,则没有错误:

return ("<input type='checkbox' id=" + data.patId + " name='update' onchange='patientCheckInFunction(this)' style='zoom: 2.0;'>");

但是,我确实想传递这两个变量。

【问题讨论】:

如果 data.sesId 不是数字,则需要在 html 中呈现额外的引号来封装该字符串 【参考方案1】:

我没有使用“名称”,所以我最终这样做了:

return ("<input type='checkbox' id=" + data.patId + " name=" + data.sesId + " onchange='patientCheckInFunction(this, this.name)' style='zoom: 2.0;'>");

【讨论】:

【参考方案2】:

试试这样:

return ("<input type='checkbox' id='"+ data.patId +"' name='update' onchange='patientCheckInFunction(\"" + this + "\",\"" + data.sesId +"\")' style='zoom: 2.0;'>");

【讨论】:

+this+ 没有意义。

以上是关于在创建 onchange 的 javascript 中传递两个变量的主要内容,如果未能解决你的问题,请参考以下文章

Javascript:如何让单选按钮的“onchange”事件通过外部函数触发?

Javascript:“onchange”事件不适用于“文本输入”对象中的“值”更改

javascript onchange onChange OnChange选择

onchange事件如何将日期值传递给javascript

Javascript:在onkeyup事件中更改值时不会触发onchange事件[重复]

Javascript 复选框 onChange