【问题标题】:textfield update text programmatically with ng-modeltextfield 使用 ng-model 以编程方式更新文本
【发布时间】:2015-08-22 07:44:26
【问题描述】:

我在编辑表单中有一个与 jQuery 颜色选择器关联的 html 文本字段

<input type="text" class="colorpicker-default form-control" ng-model="data.color" />

文本字段中的值由颜色选择器设置,我确实看到像 ng-touched 这样添加了类,但是当我提交表单时,除了这个之外的所有其他值都被提交。

如果值不是由键盘输入并由颜色选择器设置的,是否有问题?

编辑: 我刚刚做了一个测试,当我在那里手动输入时,data.color 会更新并提交,但当颜色选择器设置值时不会更新和提交

临时解决方案:

以编程方式更新 $scope.data.color

this.$scope.data.color = document.getElementById("color").value;

【问题讨论】:

  • 请提供更多上下文/代码。视图、控制器、指令内等
  • 能否包含颜色选择器的代码?也许它应该包含 ng-model="data.color"
  • 你要么写一个指令,要么找一个与jquery颜色选择器集成的指令。这里的事情是 jquery 颜色选择器在 angular 上下文之外更改输入,因此您需要手动同步模型。

标签: javascript jquery angularjs


【解决方案1】:

将此添加到颜色选择器在选择时调用的函数的底部:

$scope.$apply();

听起来颜色选择器与角度无关,因此需要将角度更新为发生在其范围之外的事物。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-02
    • 2014-10-15
    • 1970-01-01
    • 2015-03-27
    • 1970-01-01
    相关资源
    最近更新 更多