从angularjs中选择选择以选择空值

时间:2018-03-28 18:18:51

标签: angularjs selectize.js

目前我使用angularjs select指令,我可以选择重置为无值

<select ng-model="myModel" ng-options="selectOptions">
  <option value="">None</option>
</select>

当我选择None选项时,myModel为null

{{ myModel === null }} // true

我想对angularjs选择具有相同的行为,所以我添加一个带有“”值的选项。

onInitialize: function(selectize) {
  selectize.addOption({id: '', name: 'None'});
}

所以当我选择没有选择时,我的模型是一个空字符串而不是空

{{ myModel === null }} // false

如何将此更改为null? 是否可以在不编写新指令的情况下完成?

2 个答案:

答案 0 :(得分:1)

您可以分配到idnull0)或让undefined像这样:

onInitialize: function(selectize) {
  selectize.addOption({id: null, name: 'None'});
  // selectize.addOption({id: 0, name: 'None'});
  // selectize.addOption({name: 'None'});
}

并按照以下方式检查:

{{ !myModel }}

作为替代解决方案,您可以像这样检查''空值):

{{ myModel === '' }}

答案 1 :(得分:0)

我通过扩展

上的插件找到了一种方法
scope.$watch('ngModel', setSelectizeValue);

var setSelectizeValue = function() {
    if(scope.ngModel === '') {
      scope.ngModel=null;
    }

仍在寻找一种不延长插件的方法。