我已经阅读了很多有关SO的问题,无论出于何种原因,发布的解决方案均无法正常工作。我有要ng-repeat
处理的项目列表,我想禁止单击两个项目。
<tr ng-repeat="itm in jtc.jobTypes" ng-click="jtc.showAdvanced(itm); setSelected(itm.JobTypeId)" ng-disabled="itm.JobTypeId==-1" ng-class="{selected: itm.JobTypeId === idSelected}">
最佳答案
仅表单元素(文本框,按钮等)可以在其上设置disabled
属性。
要禁用特定项目的点击事件,请在点击处理程序中检查您的项目ID。
showAdvanced(itm) {
if (itm.JobTypeId != -1) {
// do something
}
}
此外,您不应在
ng-click
处理程序中调用多个函数。制作一个单独的单击处理程序函数,然后从内部调用其他函数。<tr ng-repeat="itm in jtc.jobTypes" ng-click="onItemClicked(itm)">
和...
onItemClicked(item) {
if (itm.JobTypeId != -1) {
showAdvanced(itm);
setSelected(itm.JobTypeId);
}
}