2016-04-28 6 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テンプレート onClick = 'AddCard(' "+ obj.Course +" ')' value = '' ' – hawkeye

答えて

2

使用この問題を回避するために、文字をエスケープ:別の可能性は、パラメータの単一引用符を使用することです

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

onclick="AddCard('CSE101')" 

あなたのjs-stringには、解決策は次のようになります。

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

関連する問題