網站首頁 編程語言 正文
本文實例為大家分享了jQuery實現購物車的具體代碼,供大家參考,具體內容如下
1.描述
/*
? ? ? ? 描述:
? ? ? ? ? ? 1.點擊減號,input值自減,更新小計,更新總計
? ? ? ? ? ? 2.點擊加號,input值自加,更新小計,更新總計
? ? ? ? ? ? 3.點擊全選 設置li中的復選框按鈕狀態都為被選中狀態
? ? ? ? ? ? 4.點擊反選 本來被選中的復選框設為未選中,未選中的設為選中
? ? ? ? ? ? 5.點擊每一個復選按鈕,更新總計
? ? ? ? ? ? 6.函數getAll用于設置總計
*/
2.HTML布局
<div>
? ? ? ? <button>全選</button><button>反選</button>
? ? ? ? <ul>
? ? ? ? ? ? <li>
? ? ? ? ? ? ? ? <input type="checkbox" name="" id="">
? ? ? ? ? ? ? ? 商品1 單價 <i>9.99</i>
? ? ? ? ? ? ? ? <button class="cut">-</button> <input type="text" value="0"> <button class="add">+</button>
? ? ? ? ? ? ? ? 小計: <span>0.00</span>
? ? ? ? ? ? </li>
? ? ? ? ? ? <li>
? ? ? ? ? ? ? ? <input type="checkbox" name="" id="">
? ? ? ? ? ? ? ? 商品1 單價 <i>19.99</i>
? ? ? ? ? ? ? ? <button class="cut">-</button> <input type="text" value="0"> <button class="add">+</button>
? ? ? ? ? ? ? ? 小計: <span>0.00</span>
? ? ? ? ? ? </li>
? ? ? ? ? ? <li>
? ? ? ? ? ? ? ? <input type="checkbox" name="" id="">
? ? ? ? ? ? ? ? 商品1 單價 <i>99.99</i>
? ? ? ? ? ? ? ? <button class="cut">-</button> <input type="text" value="0"> <button class="add">+</button>
? ? ? ? ? ? ? ? 小計: <span>0.00</span>
? ? ? ? ? ? </li>
? ? ? ? ? ? <li>
? ? ? ? ? ? ? ? <input type="checkbox" name="" id="">
? ? ? ? ? ? ? ? 商品1 單價 <i>999.99</i>
? ? ? ? ? ? ? ? <button class="cut">-</button> <input type="text" value="0"> <button class="add">+</button>
? ? ? ? ? ? ? ? 小計: <span>0.00</span>
? ? ? ? ? ? </li>
? ? ? ? </ul>
? ? ? ? <p>一共0件商品, 共計 0.00 元</p>
</div>
3.引入jQuery文件
<script src="js/jquery.js"></script>
4.購物車實現
4.1 點擊減號,input值自減,更新小計 ?小計:單價*數量
$('.cut').click(function () {
? ? ? ? // 獲取對應輸入框的值
? ? ? ? var num = $(this).next(':text').val();
? ? ? ? // console.log(num);
? ? ? ? if (num > 0) {
? ? ? ? ? ? // 自減
? ? ? ? ? ? num--;
? ? ? ? }
? ? ? ? // 更新輸入框的值
? ? ? ? $(this).next(':text').val(num);
? ? ? ? // 小計
? ? ? ? var add = Number($(this).prev().text() * num).toFixed(2);
? ? ? ? $(this).nextAll('span').text(add);
?
? ? ? ? getAll(); // 總計
? ? });?
4.2. 點擊加號,input值加1,更新小計 小計:單價*數量
$('.add').click(function () {
? ? ? ? // 獲取對應輸入框的值
? ? ? ? var num = $(this).prev().val();
? ? ? ? // 自加
? ? ? ? num++;
? ? ? ? // 更新輸入框的值
? ? ? ? $(this).prev().val(num);
? ? ? ? // 小計
? ? ? ? var add = Number($(this).siblings('i').text() * num).toFixed(2);
? ? ? ? $(this).nextAll('span').text(add);
?
? ? ? ? getAll(); // 總計
?
? ? });
4.3 點擊全選 將li中的復選按鈕都設置成被選中狀態 更新總計
?$('button').eq(0).click(function () {
? ? ? ? // 所有的復選按鈕的都選中
? ? ? ? $(':checkbox').prop('checked', true);
?
? ? ? ? getAll(); // 總計
? ? });
4.4 點擊反選 本來被選中的復選框設為未選中,未選中的設為選中 更新總計
$('button').eq(1).click(function () {
? ? ? ? // 遍歷每一個復選框
? ? ? ? $(':checkbox').each(function (i, v) {
? ? ? ? ? ? // console.log(!v.cheacked);
? ? ? ? ? ? // $(v).prop('checked',!v.checked)
? ? ? ? ? ? // checked屬性進行取反
? ? ? ? ? ? v.checked = !v.checked;
? ? ? ? });
?
? ? ? ? getAll(); // 總計
? ? });
4.5 點擊每一個復選按鈕,更新總計
$(':checkbox').click(getAll);
4.6 函數getAll用于設置總計
function getAll() {
? ? ? ? // 定義變量,分別用于存總數和總價
? ? ? ? var sum = 0;
? ? ? ? var allnum = 0;
? ? ? ? // 所有被選中的復選框
? ? ? ? var t = $(':checkbox:checked').each(function (i, v) {
? ? ? ? ? ? // console.log(Number($(v).nextAll('span').text()));
? ? ? ? ? ? // 所有被選中的復選框小計的總和
? ? ? ? ? ? sum += Number($(v).nextAll('span').text());
? ? ? ? ? ? //所有被選中的復選框的輸入框值的總和
? ? ? ? ? ? allnum += Number($(v).nextAll(':text').val());
? ? ? ? });
? ? ? ? // 設置p的內容
? ? ? ? $('p').html('<p>一共' + allnum + '件商品, 共計 ' + sum.toFixed(2) + ' 元</p>');
? ? }
原文鏈接:https://blog.csdn.net/m0_52065154/article/details/123590680
相關推薦
- 2021-12-02 Spring?Boot?分層打包?Docker?鏡像實踐及分析(推薦)_docker
- 2022-04-17 python 提取出字符串括號中的內容
- 2023-01-05 Go語音開發中常見Error類型處理示例詳解_Golang
- 2022-10-24 IOS開發Swift?與?OC相互調用詳解_IOS
- 2022-03-30 Golang中omitempty關鍵字的具體實現_Golang
- 2022-07-08 Pyhacker實現端口掃描器_python
- 2022-06-01 Apache?Hudi靈活的Payload機制硬核解析_服務器其它
- 2022-03-10 Android?APP啟動時間優化介紹_Android
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支