선

사용자가 옵션 선택 없이도 구매 가능하게 만들기

· 2025-07-01 (화) 10:02:35 · 1842

사용자가 별도로 옵션을 클릭하지 않아도 첫 번째 유효한 옵션이 자동 선택되게 하기

품절된 옵션은 선택할 수 없게 자동 비활성화(disabled 처리) 하기

 

템플릿 파일: shop/view.skin.php (또는 사용 중인 테마 위치)

옵션 처리 JS 파일: js/shop.js 또는 테마에 따라 별도 item.option.js 파일

 

1단계 품절 옵션은 비활성화 처리

document.querySelectorAll('.sit_option option').forEach(option => {
  if (option.text.includes('[품절]')) {
    option.disabled = true;
  }
});
 

[품절]이라는 단어가 옵션명에 포함돼 있다면 자동으로 선택 불가 처리

영카트는 기본적으로 품절 옵션에 [품절]을 붙이는 구조이므로 이 방식이 안정적입니다

 

2단계 유효한 옵션 자동 선택

document.querySelectorAll('.sit_option select').forEach(select => {
  const validOption = Array.from(select.options).find(
    o => !o.disabled && o.value !== ''
  );
  if (validOption) {
    select.value = validOption.value;
  }
});
옵션 중에 value가 있고 disabled가 아닌 첫 번째 항목을 찾아 자동 선택합니다

이렇게 하면 옵션 1개일 때 자동 선택되고, 사용자가 별도로 클릭하지 않아도 됩니다

 

사용 시 주의사항

옵션 변경 이벤트(change)를 수동으로 트리거해야 할 수 있습니다

const event = new Event('change');
select.dispatchEvent(event);
 

여러 옵션 조합(옵션 2~3개 조합형 상품)의 경우, 옵션 선택 순서에 따라 로직 분기 필요

|
댓글을 작성하시려면 로그인이 필요합니다.

영카트5 팁자료실

455건
+
제목 글쓴이 날짜 조회
25-09-03 조회 1,683
25-08-26 조회 2,005
25-08-18 조회 2,053
25-08-16 조회 1,740
25-08-07 조회 1,859
25-07-31 조회 1,772
25-07-28 조회 1,879
25-07-24 조회 1,829
25-07-21 조회 1,808
25-07-14 조회 1,634
25-07-08 조회 1,876
25-07-01 조회 1,843
25-06-24 조회 1,857
25-06-05 조회 1,727
25-06-04 조회 1,434
25-04-08 조회 2,006
25-04-08 조회 1,654
25-03-24 조회 1,673
25-01-20 조회 2,184
24-12-31 조회 2,204
24-12-28 조회 1,663
24-10-24 조회 2,454
24-10-22 조회 1,856
24-10-21 조회 1,968
24-09-26 조회 3,596
24-09-18 조회 2,635
24-08-26 조회 4,233
24-08-23 조회 1,855
24-07-22 조회 4,633
24-07-18 조회 2,444