1

我正在使用 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 没有被触发(模型中的值保持不变)

4

1 回答 1

3

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

请看简单的演示 - http://plnkr.co/edit/FDrgZncCEajRulrHmjz4?p=preview,您的代码运行良好,当我点击“清除”时,我可以在日志中看到“值已更改为清除”消息.

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

于 2014-02-24T14:57:35.723 回答