2016-04-28 55 views
1

我正在使用变量模板并使用AddCard当单击按钮但在检查元素时未被正确读取的函数被调用。onClick按钮没有被正确引用,输出不如预期

它看起来像这样在控制台: 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); 
}; 
+0

@CaffeineFueled 你写的东西是打印在控制台中...真正的代码在 var template onClick ='AddCard(''+ obj.Course +'')'value ='添加' – hawkeye

回答

2

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

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

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

onclick="AddCard('CSE101')" 

为了您的JS-串,解决办法是:

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

onClick ='AddCard(\'“+ obj.Course +”\')',没有做任何改变。 – hawkeye

+0

@hawkeye这就是你想要解决的事情,而不检查它们。 :D编辑我的答案。 :) – Jordumus

+0

onclick =“AddCard('CSE101')”,现在这就是我所得到的。但我想我应该得到 onclick =“AddCard(”CSE101“)” – hawkeye

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

它不应该只是这样?

+0

“我认为没有平衡。 – hawkeye

+0

对不起,SO正在翻转。我改变了我的答案。总之,我不认为你的对象应该在引号 – Greg

+0

onClick ='AddCard(“+ obj.Course +”)'这是我改变和输出是这样的onclick =“AddCard(CSE101)” – hawkeye