【发布时间】:2018-04-26 20:15:54
【问题描述】:
我创建了一个 div 元素和动态复选框以及更改功能。但是在单击复选框时,不会调用该函数
我的代码
@Component({
selector: 'Dropdown',
template: `<div class="select">
<div class="selectBox" (change)="Checkboxes()">
<select multiple>
<option id='Option' (click)='Click()'>Select an option</option>
</select>
</div>
<div id="checkboxesdiv">
</div></div>`
})
在 ngOnInit 我已经声明了具有动态值的字符串并分配给模板的 innerHtml
let option = "";
for(let item of DBdata){
option += "<label for='" + item.id+ "' title='" + item.des+ "'><input class='Optioninputclass' (change)='ChangeFn()' type='checkbox' id = '" + item.id+ "'/>" + item.des+ "</label>"
}
var select = document.getElementById("checkboxesdiv");
select.innerHTML = this.optionValue;
在单击复选框时未调用 ChangeFn。我也尝试过(click)='ChangeFn()',但结果相同。提前致谢。
【问题讨论】:
-
什么是
ChangeFn?你的Checkboxes()函数在哪里?您希望(change)位做什么? -
DOM 操作正是 Angular 所不鼓励的。更重要的是,如果你必须使用 DOM,比如 jQuery,那么 ngAfterViewInit 就是事件。
-
Checkboxes() 将样式显示块分配给标签元素
标签: javascript angular for-loop