javascript - 带有链接到 ng-init 的对象数组的 ng-options

标签 javascript angularjs ng-options ng-init

我正在创建一个带有 ng-options 的选择,它循环遍历链接到 ng-init 的对象数组。然而,问题是,它还必须通过 ng-change 传递正确的变量。

现在下面的代码将使 ng-init 工作并在加载时选择正确的选项。 However, when the options are selected it doesn't pass the id to the ng-change

<select name="baddress" ng-init="autoship.baddress_id = address.id || addresses[0]" 
ng-model="autoship.baddress_id" 
ng-change="setter('baddress', autoship, address.id)" 
ng-options="address as address.address + ' ' + address.address2 + ' ' + address.city + ', ' + address.state + ' ' + address.zipcode for address in addresses" ></select>

通过在 ng-options 开头的 address 中添加 .idng-change工作完美,但它在加载时将选择下拉列表留空。

<select name="baddress" 
ng-init="autoship.baddress_id = address.id || addresses[0]" 
ng-model="autoship.baddress_id" 
ng-change="setter('baddress', autoship, address.id)" 
ng-options="address.id as address.address + ' ' + address.address2 + ' ' + address.city + ', ' + address.state + ' ' + address.zipcode for address in addresses" ></select>

最佳答案

adresses[0] 将是这一行中的整个地址对象:

ng-init="autoship.baddress_id = address.id || addresses[0]" 

为了只保留id,我觉得你应该改成:

ng-init="autoship.baddress_id = address.id || addresses[0].id" 

关于javascript - 带有链接到 ng-init 的对象数组的 ng-options,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45083061/

相关文章:

javascript - 有条件地加载 JavaScript 资源

javascript - 如何使用 querySelector 找到正确的元素

javascript - 返回可空 Promise 的 TypeScript 函数

javascript - Angularjs,无法从数据库返回的 json 对象设置下拉列表

javascript - Node 环境和浏览器中的等效 GET 请求未显示相同的结果

javascript - Angular Translate 有时不会通过一次性绑定(bind)进行翻译

javascript - Angularjs ng-click表达式在选择超过4个时发出警报

angularjs - 如何允许在输入中仅输入数字(数字和小数点)?

javascript - ng-options 循环遍历对象内的对象数组?

angularjs - Angular 中的默认文本选择