直接设置值到$ scope和jquery值有什么区别?

时间:2016-02-17 12:34:48

标签: jquery angularjs angularjs-scope

这里我创建了示例文本框值绑定,它正常工作。如果我直接在文本框0,1,2,3中输入值,它将更新值。我创建了一个提交按钮,如果我点击了功能

中的更新文本框模型 像这样

$scope.testing=function() {
    $scope.selected = 0;
}

那个时候它更新了。

但是通过jquery值尝试相同,但那次失败可能我知道它无法更新的原因。文本框值更改但不在模型中更新

$scope.testing=function() {
    $('#tabId').val(3);
}

Sample here

1 个答案:

答案 0 :(得分:0)

问题是angular并不知道jquery插件所做的更新,所以如果你使用Jquery更新任何值并且还想要更新模型,那么你将不得不为此添加代码。它不是自动的。

在您的情况下,您将不得不修改

$scope.testing=function()
  {
    $('#tabId').val(3);
  }

$scope.testing=function()
  {
    $('#tabId').val(3);
    $scope.selected = 3;
  }

Model not updating中提出了类似的问题。

您也可以参考此链接How to update model

希望这会对你有所帮助。