2017-12-15 2 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>"; 

클릭 기능이 예상대로 작동하지 않습니다. 오류 메쏘드가 정의되지 않았습니다. 누락 된 부분을 제안 할 수 있습니까?내부 HTML이 작동하지 않음 : angular2에 정의되지 않은 함수

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

답변

0

동적 HTML을 사용하고 있기 때문에.

당신이 (click) 쓰기

, 그것은

는 클릭 이벤트

그것은 말한다 핸들 말하지 않는다

당신이에 가지고 각도 말해, 내 코드를 컴파일

클릭 이벤트 처리

동적 HTML을 사용하면 작동하지 않습니다. 그건 그렇고, 왜 이럴 수 있니? 그것은 잔인하고 총체적입니다. HTML 템플릿에서이 작업을 수행 할 수 없습니까?

+0

나쁜 생각이지만 동적으로 행을 추가하고 웹 서비스를 사용하여 내용을 저장해야합니다. – shalini

+0

여전히 각도로 할 수 있습니다! 행을 저장하는 대신 전체 HTML이 아닌 데이터를 저장하십시오. 그런 다음 데이터를 다시 가져와 행을 표시합니다. 내 말은, 그게 앵귤러를위한 것인데, 만약 당신이 이런 식으로하면 평범한 바닐라 JS를 사용할 수도 있습니다. – trichetriche

관련 문제