我正在使用 ui-select2 但在使用 allowClear: true 时遇到问题。 allowClear 按预期工作,但需要在清除输入时触发事件。 我尝试通过 $watch 实现它但没有成功。有没有办法在 angularjs 中使用 select2-removed 函数。
<select ui-select2="timeConfig" ng-model="time" data-placeholder="{{TIME.placeholder}}">
<option value=""></option>
<option ng-repeat="option in TIME.options" value="{{option.value}}">
{{option.title}}</option>
</select>
//在 Controller 中
$scope.timeConfig = {
allowClear : true
}
$scope.$watch('time', function(newVal,oldVal) {
if(newVal=='') {
console.log("Value is changed to clear");
}
console.log("Changing and making new request");
}, true);
当我点击清除按钮 $watch 没有触发(模型中的值保持不变)
最佳答案
select2 事件没有选项(可以看源码:https://github.com/angular-ui/ui-select2/blob/master/src/select2.js)
请看简单的演示 - http://plnkr.co/edit/FDrgZncCEajRulrHmjz4?p=preview ,您的代码运行良好,当我单击“清除”时,我可以在日志中看到“值已更改为清除”消息。
可能是你的其他代码有问题?
关于javascript - 清除输入时如何在angularjs中使用select2-removed of select2触发事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21983291/