为什么innerHTML里的fun传参不生效

        for (var i = 0; i < pcities.length; i++) {
            //pcities[i]//{name: "兴安盟", id: 438}
            str2 += '<li onclick="selectcity('+ pcities[i].id+','+pcities[i].name +');"><i class="datadd" ></i></li>';
        }
        cittty.innerHTML = str2;
        for (var i = 0; i < pcities.length; i++) {
            oI[i].innerHTML = pcities[i].name;
            oI[i].id = pcities[i].id;
        }

我想给每一个li写一个方法selectcity,传他的id和name,但是我点击兴安盟,就会报"兴安盟 is not defined",参数直接写pcities[i]就变成"selectcity([object Object]);",我应该怎么处理传的参数呢。

阅读 2k
3 个回答
 for (var i = 0; i < pcities.length; i++) {
            //pcities[i]//{name: "兴安盟", id: 438}
            str2 += '<li onclick="selectcity(\''+ pcities[i].id+'\',\''+pcities[i].name +'\');"><i class="datadd" ></i></li>';
        }

'<li onclick="selectcity('+ pcities[i].id+',"'+pcities[i].name +'");"></li>'

'selectcity('+ '\"' + pcities[i].id +'\",\"'+ pcities[i].name +'\");'
其实这里搞成这样子就行了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题