javascript - ng-checked 在 AngularJS 中的单选按钮

标签 javascript angularjs radio-button

在我的 Angular 应用程序中,我循环遍历一个集合并使用 input type="radio" 显示记录。

<tr ng-repeat="account in vm.pagedAccounts.items"
                ng-class="{ 'highlight': (account.rowIsSelected) }"
                <td>
                    <input
                        ng-model="account.rowIsSelected"
                        value="{{account}}"
                        name="selectedAccount"
                        ng-checked="account.rowIsSelected"
                        ng-change="vm.selectAccount(account)"
                        type="radio">
                </td>

在我的 Controller 中,我首先将所有帐户的 rowIsSelected 属性设置为 false。

response.data.results.forEach(function(account) {
   account.rowIsSelected = false;
});

因此,我只是确保每当 account.rowIsSelected 设置为某项时,都进行检查。

这工作正常。

但是,在 selectAccount 函数中,如果单击不同的帐户,我想删除以前的所有突出显示并突出显示当前的

    vm.selectAccount = function (account) {
        if (account.rowIsSelected) {

            //First set all false
            vm.pagedAccounts.items.forEach(function(account) {
                account.rowIsSelected = false;
            });

            var selectedAccount = vm.pagedAccounts.items
                .filter(function(x){
                    return x.id=== account.id;
                });

            //Then set only that accounts property to true
            selectedAccount[0].rowIsSelected = true;
        } 

但是如果我点击同一行两次,它就不再被选中了。我想让它保持选中状态并突出显示

怎么做? 我所做的一切看起来对吗? 请帮忙。

最佳答案

试试这个。

vm.selectAccount = function (checkedItem) {
    var selectedAccount;
    vm.pagedAccounts.items.forEach(function(account) {
        if(checkedItem.id == account.id){
           selectedAccount = account;
           account.rowIsSelected = true;
        }else{
           account.rowIsSelected = false;
        }

    });
    //Then set only that accounts property to true
    selectedAccount[0].rowIsSelected = true;

}

关于javascript - ng-checked 在 AngularJS 中的单选按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49258954/

相关文章:

html - 将 Angular JS ui-bootstrap 下拉切换绑定(bind)到 ng-model

javascript - Angular 指令分配具有多种行为的相同范围

html - 单击时未选择自定义单选按钮

javascript - 为什么这种计算数组重复项并将其存储到对象中的方法有效?

javascript - 如何使用 ds.js 改进 D3noob 教程生成的图表

javascript - 从 Angular 变量填充 jstree ThreeView

android - 当我选择单选按钮时,它应该同时提交答案并打开下一个 Activity 。我怎样才能做到这一点?

jquery - 在 jquery 的数组中检查 radio

javascript - 数据属性未正确呈现

javascript - jquery 不能在手机上工作