按钮onClick未正确引用,输出不符合预期

时间:2016-04-28 14:36:58

标签: javascript twitter-bootstrap

我正在使用变量模板并在单击按钮时调用 AddCard 函数,但在检查元素时未正确读取。

在Console中看起来像这样: Error in Console

但应该看起来像这样:

   <input type="button" class="btn btn-success btn-xs" onclick="AddCard("CSE101")" value="Add">

以下是我用来获取ID的代码。

var template = " <div class='mycard text-center col-md-2' id ='"+obj.Course+"'> <div class='card-header'> <p1>"+ obj.Course +"</p1> </div>  <div class = 'card-block'>   <div id = 'svgcontainer"+i+"'> </div>  </div> <div class = 'coursename'> <p2> "+obj.CourseName+" </p2> </div> <div class='contact-submit' > <input type='button' class ='btn btn-success btn-xs' onClick = 'AddCard('"+ obj.Course +"')' value='Add' > <input type='button' class ='btn btn-danger btn-xs' onClick = 'SkillVis2();this.disabled=true' value='Play'> </div> <div class='card-footer text-muted'> Prof. XYZ </div> </div>"

function AddCard (corsename)
{
var obj = _.find(data, function(obj){ return obj.Course == corsename; });
SkillVis(obj);
};

2 个答案:

答案 0 :(得分:2)

使用转义字符可以避免此问题:

onclick="AddCard(\"CSE101\")"

另一种可能性是对参数使用单引号:

onclick="AddCard('CSE101')"

对于你的js-string,解决方案是:

onClick =\"AddCard('" + obj.Course + "')\"

答案 1 :(得分:0)

"onClick = 'AddCard("+ obj.Course + ")' "

不应该那样吗?