我有以下代码:NG-点击不发送更新值
<div class="input-field col s3" ng-repeat="data in content.data">
<input class="updatable mcq"
ng-disabled="!viewMode"
type="checkbox"
id="mcq{{data.surveyPropertyId}}"
ng-click="updateMCQ(data.surveyPropertyId,data)"
ng-model="data.value"/>
<label for="mcq{{data.surveyPropertyId}}">{{data.name}}{{data.value}}</label>
$scope.updateMCQ = function(surveyPropertyId,newValue){
console.log(newValue);
}
问题是,它在updateMCQ功能它显示的data.value
但是如果正确的价值我在这个输入元素上触发一个点击事件,它显示先前选择的值。例如,如果复选框被选中,它将发送错误。
而且{{data.name}} {{data.value}}正在评估和正确改变为选中/取消选中此元素
可以采取什么问题
UPDATE:
我发现了这个问题,它是一个愚蠢的问题。当我调用$('。updatable.mcq.ng-dirty'),触发('click')或改变时,它实际上改变了,现在元素值已经改变了。
现在任何人都可以指导我如何创建一个自定义指令,其行为就像点击或更改angularjs一样的事件?
请加'updateMCQ'函数。 – Sravan
另一种方法是在数据对象中使用isSelected变量。像这样的东西; {surveyPropertyId:1,value:'something',isSelected:false} – Laazo
添加isSelected变量在这里是不可行的,因为我不提前知道有多少个复选框会存在,并且不想遍历它们。我使用$('。updatable.mcq.ng-dirty')。trigger('click')来调用updateMCQ函数 – ArslanAnjum