Javascript 角度ui select2标记-预选标记id/文本

Javascript 角度ui select2标记-预选标记id/文本,javascript,angularjs,angular-ui,jquery-select2,Javascript,Angularjs,Angular Ui,Jquery Select2,这是我的标签输入 <input type="hidden" ng-model="tags" class="input-large" ui-select2="{ tags: [{ id:5, text: 'tag1' }, { id: 8, text: 'tag2' }] }" /> 现在,我该如何在加载时预先选择id为5的标签 如果我执行$scope.tags=[5];甚至$scope.tags=5,它会生成一个id为5、文本为5的新标记(尽管它会从选项中删除)。。很明显,我希

这是我的标签输入

<input type="hidden" ng-model="tags" class="input-large" ui-select2="{ tags: [{ id:5, text: 'tag1' }, { id: 8, text: 'tag2' }] }" />

现在,我该如何在加载时预先选择id为5的标签

如果我执行$scope.tags=[5];甚至$scope.tags=5,它会生成一个id为5、文本为5的新标记(尽管它会从选项中删除)。。很明显,我希望它显示“tag1”,而不是5,但仍然在模型中保持ID。

您演示的内容:

HTML

<p>
  <input type="text" ng-model="tags" 
         ui-select2="{tags: [{id:4, text:'red'},{id:2, text:'blue'},{id:8, text:'white'},{id:41, text:'green'},{id:13, text:'yellow'}]}" />
</p>
<body ng-controller="MainCtrl">
  <h4>{{message}}</h4>
  <p>
    <input type="text" ui-select2="options" ng-model="tags" />
  </p>
</body>

那它为什么起作用呢?我不确定。可能是某个类型或某些内容加载不正确。我从来没有使用过Angular或Select2,所以我试了几次才让它起作用

嗯。好吧,按原样将代码复制到plunk中,没有其他更改,我得到:

所以我猜问题不是我不理解,就是在代码中的其他地方

这是最初的工作示例,使用一种可以轻松与AJAX结合的方法:

HTML

<p>
  <input type="text" ng-model="tags" 
         ui-select2="{tags: [{id:4, text:'red'},{id:2, text:'blue'},{id:8, text:'white'},{id:41, text:'green'},{id:13, text:'yellow'}]}" />
</p>
<body ng-controller="MainCtrl">
  <h4>{{message}}</h4>
  <p>
    <input type="text" ui-select2="options" ng-model="tags" />
  </p>
</body>

因此,问题实际上在于所使用的select2版本。我使用的是3.3.1,但它不起作用,看到了吗


当我使用3.3.2时,它会按预期工作。

这是如何渲染的?类input large和ui-select2指令中的对象的隐藏输入?是的,select2就是这样工作的