javascript - v-on:click事件怎么改变v-model绑定的值?
伊谢尔伦
伊谢尔伦 2017-04-11 12:29:26
[JavaScript讨论组]

表的input[type='checkbox']框全部绑定到了对应数组的active上,点击上面全选的时候怎么让所有的checkbox的active值变为true/false?

这里是我写的全选的代码,但是这样的话是改变整个列表的内容,如果我加入了筛选filterBy,在筛选框输入内容后列表会改变,但是这时再点击全选依然改变的是所有结果的active,而不是当前筛选出来的结果的active

        checkAll:function(){
            if ($('#selectAll').is(':checked')) {
                $("#result tr>td input").prop('checked', true);
                for(var i in goodsDetail.$data.goodsMsg){
                    goodsDetail.$data.goodsMsg[i].active = true;
                }
            } else {
                $("#result tr>td input").prop('checked', false);
                for(var i in goodsDetail.$data.goodsMsg){
                    goodsDetail.$data.goodsMsg[i].active = false;
                }
            }
            var length = $('input:checkbox[name=checkBox]:checked').length;
            $(".centerinfo").text("已选中"+length+"条数据");
        }
伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

全部回复(3)
PHP中文网

为什么你会这么使用vue?你不应该去操作dom而应该去操作数据。你应该去修改数据里的选中状态而不是去手动的修改dom的实际选中状态。

ringa_lee

给每个item一个isChecked的布尔值来表示当前选项是否被选中,checkAll去操作数据的这个属性就可以了。

阿神

每一行都设置v-bind:class="{'active': isChecked}",全选时再去循环每行的isChecked设置成true

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号