(() => { const $ttl = $('.js-cart-ttl'); const str = $ttl.text(); const re = /予約商品/; const isItemReservation = !!str.match(re); // カート内の商品リスト const nameList = [...$('.js-cart-name').get()].map((i) => $(i).text()); // ダミーボタンをクリックした時の処理 $('a.js-dummy').on('click', (e) => { e.preventDefault(); const EVENT = new Event('click'); const $this = $(e.currentTarget); const $cartBtn = $this.next('.js-cart-btn'); // カートに商品がない場合は追加して処理を終了 if(nameList.length === 0) { $cartBtn[0].dispatchEvent(EVENT); return; } // 商品名に予約商品を含む場合 if(isItemReservation) { nameList.some(str => !str.match(re)) ? alert('カートに予約商品以外が含まれています') : $cartBtn[0].dispatchEvent(EVENT); } // 商品名に予約商品を含まない場合 else { nameList.some(str => !!str.match(re)) ? alert('カートに予約商品が含まれています') : $cartBtn[0].dispatchEvent(EVENT); } }); })(); });
カートに商品がありません。 |
現在の中身:0点