0

我有一个选择下拉菜单,我通过 Jquery append 动态添加选项,我想关联下拉菜单中的所有数据,我的意思是所有选项都选择到 Angular JS 模型中。

我选择了

 <select  multiple='multiple' ng-model="attrId" name='attribute' id='hiddenRemoteChoicePossibleAnswers' ></select>

并且在几次服务器调用之后,我通过其他一些 Jquery 动态添加了这个选择的选项:

$('#hiddenRemoteChoicePossibleAnswers').append("<option selected='selected' value='"+optionValue+"'> "+optionValue+" </option>");

我希望在追加时更改 ng-modal 中的 attrId,但它根本没有更新,因为我必须手动选择所有选项,我必须关联模型中选项中的所有值。

任何帮助都会很有用。

提前致谢。

4

1 回答 1

1

你正在做的不是有角度的方式。AngularJS 是一个模型驱动的。UI 操作应该发生

  • 当模型更新时,会导致重新评估角度绑定。
  • 使用指令

这意味着你不应该操纵 DOM 元素并期望 Angular 来获取这些更改。

在您的情况下,您需要做的是在 $scope 上定义模型属性,该属性将是数组类型。

您要添加的数据使用 array.push 方法添加到此模型属性,这将导致 UI 选择选项更新。

我强烈建议您在尝试所有这些东西之前阅读一些教程(包括angular 网站上的教程)。Angular 是一个非常不同的野兽,来自 jquery 背景的人将很难使用它,直到对 Angular 的工作原理有了基本的了解。

这些链接会帮助你

http://blog.artlogic.com/2013/03/06/angularjs-for-jquery-developers/

http://www.egghead.io/ -> 好的角度视频

于 2013-05-20T13:33:43.510 回答