我正在使用AngularStrap
来选择选项并面临一些问题
场景:
对于用户A.购物车项目为零
对于用户B.购物车项目是1.
最初在加载选择用户A时,select中的选项将为空,但在加载用户B的选项(即1项)后,在重新加载用户A选择时,它将获得用户B的选项中的购物车项目。
这是代码:
<select id="cartSelect" ng-model="user.cartId" ng-options="c.id as c.name for c in cartItems" bs-select class="select"></select>
我尝试了什么:
在加载购物车之前,我尝试将cartItems重置为空数组。
$scope.cartItems = [];
我在控制台中检查了cartItems,它显示为0.
但它仍在加载选项字段与其他用户的购物车项目
在使用select而不是bs-select时,它工作正常。
无论如何我可以重置选择或解决此问题吗? 谢谢!
答案 0 :(得分:0)
请提供更多详细信息,例如jsFiddle。 我可以提出两种可能的解决方案。
var cartItems = [];
正确的方法是定义$scope.cartItems
并使用它。它们可能不起作用,您应该始终发布更多详细信息,例如整个控制器代码或相关代码。
答案 1 :(得分:0)
找到解决方案:
问题是select
没有意识到所做的更改,所以我不得不手动刷新select ng-options
。即
我不得不添加
$('#cartSelect').selectpicker('refresh');
随着模型(cartItems)在控制器中发生变化,
附加链接中提供了更多详细信息:Handle changes to option elements