我有使用ng-options
填充2点选择的形式,如:ngOptions用新值成功刷新,但NG-模型不是数据绑定
<select ng-options="item.id as product.category for product in products" ng-model="order.category" ng-change='find_brands(order.category)' ></select>
<select ng-options="brand.id as brand.name for brand in brands" ng-model="order.brand" ></select>
<button ng-click='Get_Products(order)>ORDER</button>
当选择所述第一下拉时,会触发一个$http
打电话来填充第二个下拉像这样:
$scope.find_brands = function(category){
$http
.get('Default.aspx/Find_Brands', {category: category})
.success(data){$scope.products = data.d};
};
这正确地填充"brands"
下拉使用新值。但是,当我去选择品牌时,ng-model
不会改变。测试时,我收到一个空值。我已经看着$scope.$apply
与$digest
周期一起工作,但它似乎不是我的问题("brands"
下拉菜单成功刷新数据,它只是不发送数据)。
有没有人有什么想法和如何解决它?
我认为这是你的问题中的一个错误,在你的服务中将'data.d'分配给'$ scope.product'。另外,'成功'已弃用'then',所以你可能会考虑使用它。 –
您可以填充类别和品牌的产品。我猜测你正处于某种循环中,因为如果类别不存在(为什么不填充品牌)ng-change会再次被调用,并且可以在单击订单按钮 –