在角度js中为ui-select2添加新选项

时间:2013-08-26 15:50:41

标签: jquery angularjs jquery-select2 ui-select2 angularjs-select2

我在angularjs中使用ui-select2,它使用jquery的select2插件。我有一些预定义的列表,然后当我开始搜索任何内容,如果在列表中找不到,我想添加一个新值。我正在做这样的事情:

var selectOptions = {
    formatNoMatches: function(term) {
                return "<a ng-click=\"addCountry('abc');\">Add new country</a>";
            }
 };

 $scope.addCountry = function(countryName) {
    console.log (' test');
 };

但是点击不起作用,并且从不打印addCountry中的控制台。知道如何在角度js中为ui-select2添加新选项吗?

1 个答案:

答案 0 :(得分:0)

我已经完成了这项工作,不是通过点击,而是允许用户在select2中输入他们喜欢的内容并点击输入:

<input type="text" ui-select2="selectOpts" ng-model="selected"/>

在coffeescript中,我希望你明白这个想法:

  $scope.selectOpts =
    maximumSelectionSize: 1
    data: $scope.someListOfData
    tags: true
    multiple: false
    createSearchChoice: (term) ->
      {id: term, text: term}

我希望这会让你走上正轨,基本的事情就是设置“tags:true”

  

将Select2放入'tagging'模式,用户可以在其中添加新的选项和   通过此选项属性提供预先存在的标签   任

和createSearchChoice(在http://ivaynberg.github.io/select2/中搜索):

  

从用户的搜索词创建一个新的可选择的选项。允许创建通过查询功能不可用的选项。当用户可以动态创建选项时很有用,例如用于“标记”用例