vue.js单选全选删除

Vue 实现全选、多选、单选效果 假如这里有多个卡片,点击相应卡片之后需要提交卡片内信息,我们需要把点击的卡片筛选出来,在不使用组件库的前提下实现全选,多选,单选操作(其中全选和多选为一个需求,单选为一个需求) 阅读详情

index.html

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>
            vue.js单选全选删除
        </title>
        <link rel="stylesheet" href="css/style.css">
    </head>
    <body>
        <div class="vueBox">
            <div class="music_list" v-for="(item,index) in music_list">
                <input type="checkbox" class="check_box" :id="'id'+item.id" :value="item.id"
                v-model="checkedNames">
                <label :for="'id'+item.id" class="title">
                    {{item.tit}}
                </label>
            </div>
            <!--以下是全选测试-->
            <div class="footer">
                <div class="all_checked">
                    <input type="checkbox" id="allChecked" :checked="checkedNames.length===music_list.length"
                    @click="allChecked">
                    <label for="allChecked" class="title">
                        全选/全不选
                    </label>
                </div>
                <div class="checked_list">
                    已选择的ID {{checkedNames}}
                </div>
            </div>
            <div class="delete" @click="deleteMusic">
                删除
            </div>
        </div>
        <script src="js/vue.min.js">
        </script>
        <script src="js/vue.index.js">
        </script> 
    </body>

</html>

vue.index.js

var vm = new Vue({
    el: ".vueBox",
    data: {
        checkedNames: [],
        music_list: [],
        all_cheched: false,
    },
    computed: {

},
    created: function() {

},
    mounted: function() {
        this.getMusic();
    },
    methods: {
        allChecked: function() {
            if (this.checkedNames.length === this.music_list.length) {
                // 全不选
                this.checkedNames = [];

            } else {
                this.checkedNames = [];
                // 全选
                this.music_list.forEach((item) = >{
                    this.checkedNames.push(item.id); // 与checkbox的value统一
                })
            }
        },
        getMusic: function() {
            var music_list = [{
                "cov": "http://img1.kuwo.cn/star/starheads/240/34/11/220267175.jpg",
                "voi": "http://other.web.ra01.sycdn.kuwo.cn/resource/n3/192/19/57/297064714.mp3",
                "tit": "独自去偷欢-刘德华",
                "lrcUrl": "audio/lrc/dzqth.lrc",
                "id": 'dzqth'
            },
            {
                "cov": "http://img4.kuwo.cn/star/starheads/240/61/54/2102134023.jpg",
                "voi": "http://other.web.ra01.sycdn.kuwo.cn/resource/n2/192/69/30/1696331887.mp3",
                "tit": "头发乱了-张学友",
                "lrcUrl": "audio/lrc/tfll.lrc",
                "id": 'tfll'
            },
            {
                "cov": "http://star.kuwo.cn/star/starheads/180/44/10/3787691319.jpg",
                "voi": "http://other.web.ra01.sycdn.kuwo.cn/resource/n1/192/23/45/2735055960.mp3",
                "tit": "浮夸-陈奕迅",
                "lrcUrl": "audio/lrc/fk.lrc",
                "id": 'fk'
            },
            {
                "cov": "http://img4.kuwo.cn/star/starheads/240/1/0/3016067007.jpg",
                "voi": "http://other.web.rf01.sycdn.kuwo.cn/resource/n2/66/79/3849065227.mp3",
                "tit": "匆匆那年-王菲",
                "lrcUrl": "audio/lrc/ccnn.lrc",
                "id": 'ccnn'
            },
            {
                "cov": "http://img2.kuwo.cn/star/starheads/240/70/47/1808655553.jpg",
                "voi": "http://other.web.rb01.sycdn.kuwo.cn/resource/n3/28/23/4233584092.mp3",
                "tit": "爱久见人心-梁静茹",
                "lrcUrl": "audio/lrc/ajjrx.lrc",
                "id": 'ajjrx'
            },
            {
                "cov": "http://img2.kuwo.cn/star/starheads/240/71/48/2963446299.jpg",
                "voi": "http://other.web.ra01.sycdn.kuwo.cn/resource/n2/192/11/54/2132876119.mp3",
                "tit": "后来-刘若英",
                "lrcUrl": "audio/lrc/hl.lrc",
                "id": 'hl'
            }];
            this.music_list = music_list
        },
        deleteMusic: function() {
            var music_list = this.music_list;
            var checkedNames = this.checkedNames;
            /*循环查找选中项*/
            checkedNames.forEach(function(item, index) {
                music_list.forEach(function(music, i) {
                    if (music.id == item) {
                        music_list.splice(i, 1);
                    }
                });
            }) this.music_list = music_list;
            this.checkedNames = []
        }
    }

});

style.css

/* css reset */
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, a, input, button, p,img,span {
    margin: 0;
    padding: 0;
    border: 0;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

ol, ul, li {
    list-style: none;
}

a {
    text-decoration: none;
}


.music_list ,.all_checked {
    position: relative;
    width: 100%;
    padding: 5px;
    margin-top: 5px;
    display: flex;
    align-items: center;
}

.title {
    margin-left: 10px;
}

.checked_list {
    width: 100%;
    padding: 5px;
    margin-top: 5px;
    display: flex;
    align-items: center;
}

.delete {
    width: 200px;
    text-align: center;
    padding: 5px 20px;
    border-radius: 5px;
    border: 1px solid salmon;
    margin-left: 5px;
    margin-top: 10px;
    background-color: salmon;
    color: #fff;
}

.delete:hover {
    background-color: #fc4a20;
}

运行结果如图:

这里写图片描述

使用vue搭建一个可单选,全选,删除的购物车 使用vue写一个PC的购物车,有全选,店铺选择,单选,添加数量,删除等 以下为我实现的代码 贴图没有CSS 购物车列表由接口获取 效果图 代码实现 <template> <div> <div class="main"> <div class="haed" style="text-align: left;"> <div class="hdp"> <input id="checkbox" t 阅读详情

相关推荐

Vue实现单选多选反选全选全不选

功能:实现点击选中,再点击取消选中,全选,取消全选,左滑删除。 页面效果如下: 左滑删除功能需要用到mint-ui的mt-cell-swiper。 注意使用这个插件的时候不能用v-if,要用v-show,否则无法实现预期效果。 (我在这上面踩了很久的坑,才突然顿悟的) 需要引入mint相关的js和css <link rel="stylesheet" type="text/css" href="../cs...

吴小花的博客 2749

使用 Vue 做全选操作

【代码】使用 Vue 做全选操作。

优快云_xiaomei的博客 948

从零开始一步步实现「Vue.js 购物车实战教程」:轻松实现全选、分组和动态计算功能 新手友好!用 Vue.js 打造一个完整购物车页面:从零开始一步步实现 功能齐全的 Vue.js 购物车

「Vue.js 购物车实战教程」:轻松实现全选、分组和动态计算功能 新手友好!用 Vue.js 打造一个完整购物车页面:从零开始一步步实现 功能齐全的 Vue.js 购物车页面:按商家分组、全选、批量删除详细讲解 Vue.js 从入门到实战:实现带有全选和动态总价的炫酷购物车页面 为新手设计的 Vue.js 购物车页面教程:分组显示、全选删除和动态计算总价

南北极之间 727

vue实现多选、全选

vue实现多选、全选功能,复制粘贴开箱即用,简简单单,干净卫生,欢迎C+V

m0_59224033的博客 1万+

vue.js单选全选删除选中代码.zip

vue.js单选全选删除选中代码基于Vue.js2.5.1制作,单选、全选删除ID,单元格,显示选中内容。

Vue实现购物车的全选、单选、显示商品价格代码实例

主要介绍了Vue实现购物车的全选、单选、显示商品价格实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

vue实现“全选/全不选/反选”的三个方法

【代码】vue实现“全选/全不选/反选”的三个方法。

我管它叫“知勤者笔记”,主要用来记录和分享我的日常生活与学习经历 1万+

vue 实现搜索的结果页面支持全选与取消全选功能

主要介绍了vue 实现搜索的结果页面支持全选与取消全选功能,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下

vue全选和单选

全选和单选

qq_47243637的博客 547

3. ChaosBlade-Box平台安装

参考自:https://chaosblade.io/docs/about-chaosblade/box-introduce/通过ChaosBlade-Box可实现chaosblade等已托管工具自动化部署,按照社区的建立的混沌实验模型统一实验场景,根据主机、Kubernetes、应用来划分目标资源,通过目标管理器来控制,在实验创建页面,可以实现白屏化的目标资源选择。

lldhsds的专栏 2484

华为云CodeHub代码托管

什么是代码托管 代码托管(CodeHub)是面向软件开发者的基于Git的在线代码托管服务,是具备安全管控、成员/权限管理、分支保护/合并、在线编辑、统计服务等功能的云端代码仓库,旨在解决软件开发者在跨地域协同、多分支并发、代码版本管理、安全性等方面的问题。 代码托管具有以下特性 · 在线代码阅读、修改、提交,随时随地开发,不受地域限制。 · 在线分支管理,包含分支新建、切换、合并,实现多分支并行开发,效率高。 master分支:最为稳定,功能比较完整,随时可发布的代码。 develop分支:用于平时开

LUJINYUANA的博客 1万+

axios+vue+springboot完成批量删除

前端html页面 需要重点理解的就是全选的事件还有点击选中然后传递id给后端,需要把多个id放到一个数组里面然后传递到controller去执行批量删除的方法 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>layui后台管理模板 2.0</title> <meta name="renderer" content="webkit"&gt

weixin_49092494的博客 1508

从零开始理解二极管限幅:5种典型电路设计及实际应用场景解析

本文系统解析了二极管限幅电路的五大经典拓扑,包括串联与并联型上下限幅及双向限幅。通过剖析其核心原理与二极管的单向导电性、正向压降特性,结合ADC输入保护、电源管理、音频处理等实际应用场景,提供了从器件选型到设计陷阱规避的完整实战指南,帮助工程师为信号构建可靠的“安全笼”。

2y3u4i5o6p的博客 1033

vue 实现checkbox的全选,单选以及删除

如有疑问, 微博留言 韩峰26 话不多说, 直接上代码. <template> <div> <input type='checkbox' class='input-checkbox' :checked="fruitIds.length === fruits.length" @click='checkedAll()'>全选 ...

weixin_30768661的博客 1118

开关变换器分析:大信号模型与小信号模型

是电力电子系统建模中的两类基本方法,分别用于描述系统在不同工作条件下的动态行为。它们的核心区别在于是否对变量进行线性化近似,以及适用的分析场景。

创新改变世界! 1906

父子Agent架构:解决AI系统上下文污染的技术方案

在AI系统设计中,上下文管理是核心挑战之一。传统单Agent架构在处理复杂任务时,常面临上下文无限膨胀导致的信息淹没和性能下降问题。父子Agent架构通过职责分离和上下文隔离机制,采用分而治之的思想,将大任务拆解为多个子任务由专门子Agent处理。该架构中父Agent负责任务规划和结果汇总,子Agent执行具体任务后立即销毁中间状态,通过精炼摘要进行通信。这种设计不仅能有效控制上下文长度,还能提升系统稳定性和执行效率,特别适用于编程辅助、自动化测试等需要多步骤处理的场景。父子Agent架构体现了计算机科学中

weixin_42531710的博客 352

Vue 实现checkbox的全选,单选和删除

<template> <div> <input type='checkbox' class='input-checkbox' :checked="fruitIds.length === fruits.length" @click='checkedAll()'>全选 <div v-for='(fruit, index) in fruits' :key="index"> <!--判断fruitIds是否包.

c_c_____的博客 1626

MATLAB与ROS联合仿真——订阅ROS消息类功能模块介绍

MATLAB与ROS联合仿真——订阅ROS消息类功能模块介绍 (1)输入参数:无 (2)输出参数:Xr和Yr是小车当前在世界坐标系下的坐标 (3)主要作用:作为ROS与MATLAB的通讯接口,从ROS中订阅小车当前的位置信息,并输出 (4)内部结构: (5)具体实现过程:通过ROS工具箱中的Subscribe模块从ROS中订阅话题/gazebo/link_statesa 通过Bus Selector模块选择ROS总线中的Pose

慕羽★的博客 2699

用vue实现多选框单选,全选和删除

原文链接:https://www.jianshu.com/p/0c00c2c47f41 原文链接:https://www.jianshu.com/p/0c00c2c47f41 原文链接:https://www.jianshu.com/p/0c00c2c47f41 包含功能: 单选 多选 全选 批量删除 实现原理: fruits:决定显示元素的多少,所以,对元素增删改查都操作它 f...

sz_09的博客 2926

华为OD新系统机试真题-文章特征提取

华为OD机试新系统真题 【文章特征提取】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD新系统机试真题【文章特征提取】

qq_45776114的博客 729

基于Simulink的异步电机参数在线辨识与自适应控制仿真

本文基于Simulink平台,详细介绍了异步电机参数在线辨识与自适应控制系统的仿真实现。针对异步电机运行中参数时变问题,采用模型参考自适应系统(MRAS)实时辨识转子电阻和互感,并结合自适应PI控制策略动态调整控制器参数。通过搭建完整的矢量控制(FOC)仿真模型,验证了系统在稳态辨识、参数摄动和动态响应等工况下的性能:参数辨识误差<1.2%,转速跟踪误差<20rpm,动态响应时间<10ms。文章还提供了详细的Simulink建模步骤、核心代码实现及性能分析,为高级电机控制系统的设计与优化提

amy_mhd的博客 72

vue实现购物车全选,总计等功能

一、单价商品的小计 整个操作过程是,商品的数量是可以控制的,可增可减,最少为1。并且在数量的变化中,商品的小计也在变化。 二、单选选中商品 在购物车中,需要选择当前想买的商品,这一功能成为商品的单选,并且在选中商品的同时,总金额会累加上选中的商品总价。 三、全选选中商品 全选就是一键选中所有商品,然后总金额是所有商品的总价的总和。取消全选有两个方式:一是直接按取消全选,而是取消任何一个商品的选中。 四、删除商品 代码如下: <style> table {

hangnan315的博客 8251

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

vue批量删除

**HTML** <div :class="[fullwidth,'party-list']" v-for="(item,index) in partyLists" :key="index+Math.random()"> <!--单选--> <div @click="checkSingle(item,item.newsId)" :che...

weixin_44008500的博客 1613

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

VUE-基础五-基础练习

基础练习做一个购物车示例如下: 一、添加表格结构样式及数据 <div> <table> <tr> <td></td> <td>书本id</td> <td>书本名称</td> <td>书本价格</td> <td>操作</td> </tr&

if_smile的博客 201

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

购物车全选全不选,单选,删除,全选删除,计算总价---uniapp+store

【代码】购物车全选全不选,单选,删除,全选删除,计算总价---uniapp+store。

m0_72929120的博客 509
上一篇: MVC5使用Angular.Js实现Crud
下一篇: Jquery Validate自定义验证规则,一个汉字等于两个字符长度
.NET跨平台
博客等级 码龄15年 6066粉丝 738原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值