2017-12-15 12 views
-1
var table :HTMLTableElement = <HTMLTableElement> 
document.getElementById("test1"); 
var row = table.insertRow(1); 
var cell1 = row.insertCell(0); 
var cell2 = row.insertCell(1); 
var cell3 = row.insertCell(2); 
var cell4 = row.insertCell(3); 
var cell5 = row.insertCell(4); 
var cell6 = row.insertCell(5); 
var cell7 = row.insertCell(6); 
cell1.innerHTML = "<div contenteditable='true' id='newdoc'>Doctor</div>"; 
cell2.innerHTML = "<div contenteditable='true' id='newhosp'>Hospital</div>"; 
cell3.innerHTML = "<div contenteditable='true' id='costprice'>Cost price</div>"; 
cell4.innerHTML = "<div contenteditable='true' id='referralfee'>Referal price</div>"; 
cell5.innerHTML = "<div contenteditable='true' id='totalprice'>TotalPrice</div>"; 
cell6.innerHTML = '<a onclick=/"myFun();/">save</a>'; 

cell7.innerHTML = "<a> Cancel </a>"; 

クリック機能が期待どおりに機能していないため、エラーメソッドが定義されていません。Inner HTML not working:angular2で定義されていない関数

myFun(){ 
    alert('button clicked'); 
} 

答えて

0

ダイナミックHTMLを使用しているためです。

あなたが(click)を書く

、それは

は、クリックイベント

それは言うハンドル言いません

あなたはそれが持っている角度言う、私のコードをコンパイル

クリックイベントを処理する

動的HTMLを使用すると動作しません。ところで、なぜこのようなことをしますか?それは残酷で総体的です。あなたのHTMLテンプレートでそれを行うことはできませんか?

+0

私はそれが悪い考えですが、私は行を動的に追加し、Webサービスを使用してコンテンツを保存する必要があることを知っています。 – shalini

+0

あなたはまだ角度でそれを行うことができます!行を保存する代わりに、HTML全体ではなくデータを保存します。次に、データを取得して、その行を表示します。私は、それはあなたがこれのようなことをすれば、プレーンなバニラJSを使うかもしれないというのは、それが何のためのものなのかということです。 – trichetriche

関連する問題