如何在angularjs中使用select2-removed of select2来清除输入时触发事件

时间:2014-02-24 09:11:58

标签: javascript jquery angularjs ui-select2

我正在使用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>

//在控制器中

 $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未被触发(模型中的值保持不变)

1 个答案:

答案 0 :(得分:3)

select2事件没有选项(你可以在源头看到它:https://github.com/angular-ui/ui-select2/blob/master/src/select2.js

请看一下简单的演示 - http://plnkr.co/edit/FDrgZncCEajRulrHmjz4?p=preview,你的代码工作得很好,当我点击“清除”时,我可以在日志中看到“值已更改为清除”消息。

您的其他代码可能有问题吗?