gpt4 book ai didi

javascript - 在 ng-repeat、验证中选择第一个单选按钮

转载 作者:行者123 更新时间:2023-11-27 22:36:03 25 4
gpt4 key购买 nike

Angular 1

我使用下面的索引来选择结果集中的第一个值(如果尚未选择)。

请参阅下面的“$index==0?true:false

HTML

<li ng-repeat="address in addresses | filter:vm.addressSearch">
<div class="checkbox">
<input type="radio" name="address-list" id="address-{{address.addressId}}"
ng-click="vm.setAddress( address.addressId )"
ng-checked="address.addressId === vm.cart.addressId || $index==0?true:false">
</div>

JS 验证

vm.setAddress = function( addressId ) {
vm.cart.addressId = addressId;
updateShippingValid();
};

function updateShippingValid() {
vm.shippingValid = angular.isNumber( vm.cart.addressId ) && ( vm.cart.addressId !== 0 ) && angular.isString( vm.cart.shipMethod );
}

现在第一个地址单选按钮将在加载时被选中,但我的验证未检测到它已被选中,必须再次单击它才能完成。

这有什么原因吗?

谢谢

最佳答案

首先,您的 vm.cart.addressId 未定义!

只有当您单击单选按钮时才会对其进行设置!因为您的ng-click

这就是为什么,你应该像这样在 Controller 的开头初始化它:

vm.cart.addressId = addresses[0].addressId;

希望对你有帮助

关于javascript - 在 ng-repeat、验证中选择第一个单选按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39081985/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com