2016-04-28 51 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