如何将变量放入Ajax响应onclick函数中

时间:2018-11-02 10:29:49

标签: javascript jquery

在js循环后,我正在创建变量,如:

var type ='sim';
var id   = 'add_dyno_crew_'+itemsn.id;
var ids  = 'addcrew_sub_'+itemsn.id; 

在html onclick函数中,我想使用此值作为参数,如下所示:

html+='<div class="col-md-12 col-lg-12 col-xs-12 padding_left_right_none add_crew_btn"><p><a href="javascript:void(0);" class="strt_txt" onclick="dash_add_aircrew('+type+','+id+','+ids+');">+ Add Aircrew</a></p></div>';

但是当我在onclick中使用此变量时,它给我的错误是未定义且代码不起作用,有人可以向我解释吗?

3 个答案:

答案 0 :(得分:0)

您错过了报价

html+='<div class="col-md-12 col-lg-12 col-xs-12 padding_left_right_none add_crew_btn"><p><a href="javascript:void(0);" class="strt_txt" onclick="dash_add_aircrew(\''+type+'\',\''+id+'\',\''+ids+'\');">+ Add Aircrew</a></p></div>';

答案 1 :(得分:0)

我认为您不应将变量与引号连接起来,而应使用像这样的模板litrel

html+=`<div class="col-md-12 col-lg-12 col-xs-12 padding_left_right_none add_crew_btn"><p><a href="javascript:void(0);" class="strt_txt" onclick="dash_add_aircrew(${type},${id},${ids});">+ Add Aircrew</a></p></div>`;

答案 2 :(得分:0)

通过字符串连接生成的HTML字符串无效。我建议您使用更干净的Template Literals

var type ='sim';
var id   = 'add_dyno_crew_'+11;
var ids  = 'addcrew_sub_'+11; 

var html = '';
html+=`<div class="col-md-12 col-lg-12 col-xs-12 padding_left_right_none add_crew_btn"><p><a href="javascript:void(0);" class="strt_txt" onclick="dash_add_aircrew('${type}','${id}','${ids}');">+ Add Aircrew</a></p></div>`;

document.body.insertAdjacentHTML('beforeend', html);

function dash_add_aircrew(t, id1, id2){
  console.log(t + '::' + id1 + '::' + id2)
}