【问题标题】:Pass two variables in a javascript created onchange在创建 onchange 的 javascript 中传递两个变量
【发布时间】: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 中呈现额外的引号来封装该字符串

标签: javascript datatables


【解决方案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+ 没有意义。
    猜你喜欢
    • 2021-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-29
    • 1970-01-01
    • 1970-01-01
    • 2013-12-25
    • 2017-12-29
    相关资源
    最近更新 更多