AngularJS从HTML

时间:2015-05-07 09:42:36

标签: javascript angularjs

选中该复选框后,我希望检查<p>标签中变量的值,以便在我的AngularJS中使用它。

HTML

<input type="checkbox" value="{{o.orderID}}" ng-change="stateChanged()"/>
<p id="orderID" ng-model="orderID">{{o.orderID}}</p>

$scope.stateChanged = function () {
   var value1 = $scope.orderID;
    alert(value1);
}

但这似乎不起作用。如何快速轻松地完成这项工作?

4 个答案:

答案 0 :(得分:2)

假设您的HTML包含在控制器中,并且您的JS代码在该控制器函数的定义中;像这样改变你的方法:

$scope.stateChanged = function () {
  var value1 = $scope.o.orderID;
  alert(value1);
}

答案 1 :(得分:0)

您只能在输入字段上使用ng-model。如果您想获取<p>{{o.orderID}}</p>的内容,可以调用$ scope.o.orderID。

如果要查询DOM元素的某些内容,可以使用angular jQlite

答案 2 :(得分:0)

让我们看看,我认为你想要做的是这样的事情:

<input type="checkbox" ng-model="o.orderID" ng-change="stateChanged()"/>
<p id="orderID">{{o.orderID}}</p>

此外,我不明白你为什么要将orderID绑定到一个复选框...这将是一个布尔值,无论是真还是假。如果我们正在谈论订单ID 不应该是文本框吗?

答案 3 :(得分:0)

您需要在scope div中设置ng-repeat$parent.selectedOrder中的变量,因为ng-repeat会在渲染DOM时创建新范围

<div ng-repeat="o in orders">
   <input type="checkbox" value="{{o.orderID}}" ng-change="stateChanged()"
    ng-click="$parent.selectedOrder = o.orderID"/>
</div>

<p id="orderID">{{selectedOrder}}</p>