日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

jQuery實現購物車_jquery

作者:顧舟 ? 更新時間: 2022-08-17 編程語言

本文實例為大家分享了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

欄目分類
最近更新