将此值和逗号分隔的值作为函数的参数传递

时间:2019-04-08 07:58:25

标签: javascript jquery html function

我有一个可以动态创建按钮的函数,并且onclick我将click事件中的一些参数传递给function。 我传递的参数是:this和第二个是逗号分隔的string。 我的问题是当我通过此参数时出现此错误:

  

输入意外结束

那是按钮:

<button class="btnCustom" onclick="getCustomItems(this, ' + CustomIDs + ')" type="button">...</button>

CustomIDs ="3,4,5";

和功能:

function getCustomItems(e, CustomIDs) {
    var IDs = CustomIDs ;
}

如何传递逗号分隔的this对象和CustomIDs作为函数的参数?

4 个答案:

答案 0 :(得分:1)

您当前正在将字符串onclick="getCustomItems(this, CustomIDs)" 传递到函数中-请尝试使用变量:

document.getElementById(‘btn-login’).addEventListener(‘click’, function() {
lock.show();
});

答案 1 :(得分:1)

您可以更新ID的变量并将其作为变量传递给函数

var CustomIDs='my id custom'

<button class="btnCustom" onclick="getCustomItems(this, CustomIDs)" type="button"></button>

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals

答案 2 :(得分:1)

如果您的ID是动态生成的,请尝试将customIds设置为该按钮上的属性,只需在函数中传递“ this”作为关键字,然后在函数内部使用此方法从属性中获取ID。

  <button class="btnCustom" onclick="getCustomItems(this)" customIDs="3,4,5"  type="button">...</button>


 function getCustomItems(e) {
      var customIDs= e.getAttribute('customIDs');
      console.log(customIds);
       //3,4,5   
      var ids= customIds.split(',');
       console.log(ids);
       //[3,4,5]
      }

答案 3 :(得分:0)

试试这个。

onclick="getCustomItems(this, \'' + CustomIDs + '\')"