在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中使用此变量时,它给我的错误是未定义且代码不起作用,有人可以向我解释吗?
答案 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)
}