440 lines
25 KiB
Plaintext
440 lines
25 KiB
Plaintext
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
|
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
|
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
|
|
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
|
|
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
|
|
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui"%>
|
|
<%@ taglib prefix="f" uri="/WEB-INF/tlds/f.tld"%>
|
|
|
|
<%--
|
|
Class Name : RelateGoodsPopupR.jsp
|
|
Description : 함께하면 좋은 상품(관련 상품) 팝업
|
|
Modification Information
|
|
|
|
수정일 수정자 수정내용
|
|
------- -------- ---------------------------
|
|
2024-07-23 유재현 최초 생성
|
|
--%>
|
|
<script defer>
|
|
/*************************************************************
|
|
함께하면 좋은상품 이벤트 (모달)
|
|
**************************************************************/
|
|
fn_set_niceSelect_datePicker('.select-box')
|
|
//일반옵션
|
|
// // 라디오 버튼 클릭시, 상품 정보 배열에 추가 및 화면에 추가
|
|
$("#relate-product-option-sheet .product-option__item").each(function () {
|
|
$(this).find("input[type=radio]").on("change", function () { // 라디오 버튼 클릭 시
|
|
if ($(this).prop('checked') == false) return; // 체크 해제시 리턴
|
|
const $title = $(this).closest(".product-option__item").find("label").text();
|
|
const $price = $(this).closest(".product-option__item").find(".product-option__price").text();
|
|
const $goodsOptnInnb = $(this).closest(".product-option__item").find('input[name="goodsOptnInnb"]').val()
|
|
const $goodsOptnTy = $(this).closest(".product-option__item").find('input[name="goodsOptnTy"]').val()
|
|
const $optnInfo = $(this).closest(".product-option__item").find('.product-option__monthly-payment').text();
|
|
|
|
const $priceNum = parseInt($price.replace(/,/g, ""));
|
|
|
|
//이미 추가된 상품인지 확인
|
|
var isItemAlreadyAdded = cartProductArr.some(function (item) {
|
|
return item[4] === $goodsOptnInnb;
|
|
});
|
|
if (isItemAlreadyAdded){
|
|
fn_goods_duplicate_select_modal()
|
|
return;
|
|
}
|
|
|
|
const $relateGoodsInnb = $(this).closest(".product-option__item").find('input[name="relateGoodsInnb"]').val()
|
|
|
|
cartProductArr.push([$title, 1, $priceNum, $priceNum * 1, $goodsOptnInnb, $goodsOptnTy, $relateGoodsInnb]); // 배열에 상품 정보 추가
|
|
$('#cartCountContainer').append( // 화면에 상품 정보 추가
|
|
'<div class="product-count">' +
|
|
'<div class="product-count__amount-top">' +
|
|
'<span class="product-count__amount-title">' + $title + '</span>' +
|
|
'<button class="product-count__amount-delete"><span class="visually-hidden">삭제</span></button>' +
|
|
'</div>' +
|
|
'<div class="product-count__amount-bottom">' +
|
|
'<div class="product-count__amount-counter">' +
|
|
'<button class="product-count__amount-btn minus"><span class="visually-hidden">감소</span></button>' +
|
|
'<span class="product-count__amount-number">1</span>' +
|
|
'<button class="product-count__amount-btn plus"><span class="visually-hidden">추가</span></button>' +
|
|
'</div>' +
|
|
'<div class="product-count__amount-price-box">' +
|
|
'<span class="product-count__amount-monthly-price">'+$optnInfo+'</span>' +
|
|
'<span class="product-count__amount-price"><span class="comma product-count__amount-priceNum">' + $price +
|
|
'</div>' +
|
|
'</div>' +
|
|
'</div>'
|
|
);
|
|
|
|
updateCartCounters(); // 화면에 상품 정보 업데이트
|
|
});
|
|
});
|
|
|
|
// 총 상품금액
|
|
var $cartTotalPrice = $(".product-total__price__totalPriceNum");
|
|
|
|
// 수량 "-", "+" 버튼 클릭 시, 수량 증감 및 가격 변경 및 총 상품금액 변경
|
|
$("#cartCountContainer").on("click", ".product-count__amount-btn", function () { // 수량 버튼 클릭 시
|
|
var $counter = $(this);
|
|
var $index = $counter.closest(".product-count").index(); // 해당 상품의 인덱스
|
|
if ($(this).hasClass("minus")) { // "-" 버튼 클릭 시
|
|
if (cartProductArr[$index][1] <= 1) return;
|
|
cartProductArr[$index][1]--; // 배열에서 해당 상품의 수량 감소
|
|
cartProductArr[$index][3] = cartProductArr[$index][1] * cartProductArr[$index][2]; // 배열에서 해당 상품의 총 가격 변경
|
|
} else { // "+" 버튼 클릭 시
|
|
cartProductArr[$index][1]++; // 배열에서 해당 상품의 수량 증가
|
|
cartProductArr[$index][3] = cartProductArr[$index][1] * cartProductArr[$index][2]; // 배열에서 해당 상품의 총 가격 변경
|
|
}
|
|
updateCartCounters(); // 화면에 상품 정보 업데이트
|
|
})
|
|
//
|
|
//배열 내용을 바탕으로 각 아이템 텍스트 변경
|
|
function updateCartCounters() {
|
|
$("#cartCountContainer .product-count").each(function () {
|
|
var $counter = $(this);
|
|
var $index = $counter.index();
|
|
var $number = $counter.find(".product-count__amount-number");
|
|
var $price = $counter.find(".product-count__amount-priceNum");
|
|
$number.text(cartProductArr[$index][1]);
|
|
$price.text(addComma(cartProductArr[$index][3]) + "원");
|
|
});
|
|
updateCartTotalPrice(); // 총 상품금액 업데이트
|
|
console.log(cartProductArr); // 배열 정보확인
|
|
}
|
|
|
|
// 3자리마다 "," 추가
|
|
function addComma(num) {
|
|
return num.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
|
|
}
|
|
|
|
// 총 상품금액 업데이트
|
|
function updateCartTotalPrice() {
|
|
var totalPrice = 0; // 총 상품금액
|
|
for (var i = 0; i < cartProductArr.length; i++) {
|
|
totalPrice += cartProductArr[i][3]; // 배열의 총 가격을 더함
|
|
}
|
|
$cartTotalPrice.text(addComma(totalPrice)); // 총 상품금액 텍스트 변경
|
|
}
|
|
|
|
// x버튼 클릭 시 삭제
|
|
$("#cartCountContainer").on("click", ".product-count__amount-delete", function () { // x 버튼 클릭 시
|
|
var $index = $(this).closest(".product-count").index();
|
|
cartProductArr.splice($index, 1); // 배열에서 해당 상품 삭제
|
|
$(this).closest(".product-count").remove(); // 화면에서 해당 상품 삭제
|
|
updateCartCounters(); // 화면에 상품 정보 업데이트
|
|
|
|
//일반옵션이 하나일 경우 라디오 체크 해제(품절상품 제외) || 필수옵션 01이 상품 배열에 하나도 없을 경우
|
|
if($('#relate-product-option-sheet .product-option .custom-radio:not(:has(span))').length ===1
|
|
|| productArr.filter(item => item[5] === '01'&& $('#goodsInnb').val() ===item[6]).length === 0){
|
|
$("input[name='r-group01']").prop('checked', false)
|
|
}
|
|
});
|
|
|
|
//TODO :: 입력옵션
|
|
// // // 마지막으로 생성된 상품에 각인 정보 추가
|
|
// // $('#cartAddTextBtn').on('click', function () {
|
|
// // var $index = $(".modal .productDetailInfo__count").length - 1;
|
|
// // var $text = $('#cartAddTextInput').val();
|
|
// // console.log(cartProductArr[$index]); // 인덱스 확인
|
|
// // $(".modal .productDetailInfo__count").eq($index).find(".productDetailInfo__count__amountTop").append('<div class="productDetailInfo__count__additionalSelect">각인문구 : ' + $text + '</div>');
|
|
// //
|
|
// // console.log(cartProductArr); // 배열 정보확인
|
|
// // });
|
|
//
|
|
|
|
//재고옵션
|
|
$('#relateAdditionalSelect').on("change", "select", function () { // 셀렉트 선택 시
|
|
if ($('#relateAdditionalSelect').find('.option.selected.disabled').length > 0) return;
|
|
if ($('#relateAdditionalSelect').find('.option.selected').length == $('#relateAdditionalSelect').find('.nice-select').length) { // 모든 셀렉트가 선택되면
|
|
|
|
var $title =$(this).closest("#relateAdditionalSelect").find('input[name="relateGoodsNm"]').val()
|
|
var $optInfo = $(this).siblings('.nice-select').find(".option.selected").attr("data-value").split('|');
|
|
|
|
var $priceNum = $optInfo[0];
|
|
var $goodsOptnInnb = $optInfo[1];
|
|
var $goodsOptnInfo = $optInfo[2];
|
|
var $goodsOptnTy = $optInfo[3];
|
|
|
|
var arr = [];
|
|
for (var i = 0; i < $('#relateAdditionalSelect').find('.nice-select').length; i++) {
|
|
arr.push($('#relateAdditionalSelect').find('.nice-select').eq(i).find('.option.selected').text());
|
|
}
|
|
//이미 추가된 상품인지 확인
|
|
var isItemAlreadyAdded = cartProductArr.some(function (item) {
|
|
return item[4] === $goodsOptnInnb;
|
|
});
|
|
if (isItemAlreadyAdded) {
|
|
fn_goods_duplicate_select_modal()
|
|
return;
|
|
}
|
|
|
|
const $relateGoodsInnb = $(this).closest("#relateAdditionalSelect").find('input[name="relateGoodsInnb"]').val()
|
|
cartProductArr.push([$title, 1, $priceNum, $priceNum * 1, $goodsOptnInnb, $goodsOptnTy, $relateGoodsInnb, arr]); // 배열에 상품 정보 추가
|
|
let cartAdditionalSelectText = '옵션 : ' + arr.join(' / ').replace(/\(\+.*?\)/g, ''); // 추가정보 텍스트로 변환
|
|
$('#cartCountContainer').append( // 화면에 상품 정보 추가
|
|
'<div class="product-count">' +
|
|
'<div class="product-count__amount-top">' +
|
|
'<span class="product-count__amount-title">' + $title + '</span>' +
|
|
'<div class="productDetailInfo__count__additionalSelect">' + cartAdditionalSelectText + '</div>' +
|
|
'<button class="product-count__amount-delete"><span class="visually-hidden">삭제</span></button>' +
|
|
'</div>' +
|
|
'<div class="product-count__amount-bottom">' +
|
|
'<div class="product-count__amount-counter">' +
|
|
'<button class="product-count__amount-btn minus"><span class="visually-hidden">감소</span></button>' +
|
|
'<span class="product-count__amount-number">1</span>' +
|
|
'<button class="product-count__amount-btn plus"><span class="visually-hidden">추가</span></button>' +
|
|
'</div>' +
|
|
'<div class="product-count__amount-price-box">' +
|
|
'<span class="product-count__amount-monthly-price">'+$goodsOptnInfo+'</span>' +
|
|
'<span class="product-count__amount-price"><span class="comma product-count__amount-priceNum">' + $priceNum +
|
|
'</div>' +
|
|
'</div>' +
|
|
'</div>'
|
|
);
|
|
}
|
|
updateCartCounters(); // 화면에 상품 정보 업데이트
|
|
console.log(productArr); // 배열 정보확인
|
|
});
|
|
|
|
// 추가구성옵션
|
|
$("#relateMoreItemsSelect").on("change",'select', function () {
|
|
var $moreItems = $('#relateMoreItemsSelect').find(".select-box");
|
|
const $optInfoOptn3 = $(this).siblings(".nice-select").find(".option.selected").attr("data-value").split('|');
|
|
|
|
const $priceNumOptn3 = $optInfoOptn3[0];
|
|
const $goodsOptnInnbOptn3 = $optInfoOptn3[1];
|
|
const $goodsOptnInfoOptn3 = $optInfoOptn3[2];
|
|
const $goodsOptnTyOptn3 = $optInfoOptn3[3];
|
|
const $optnEssnlAtOptn3 = $(this).siblings('[name="selectOptionItem__otpnEssntlAt__added"]').val();
|
|
|
|
// $moreItems.each(function () {
|
|
// if ($(this).find('.option.selected.disabled').length > 0) return;
|
|
var $title = $(this).siblings('.nice-select').find('.option.selected').text().replace(' ', '').trim().replace('선택', ' ').replace(/\(\+.*?\)/g, '');
|
|
|
|
//이미 추가된 상품인지 확인
|
|
var isItemAlreadyAdded = cartProductArr.some(function (item) {
|
|
return item[4] === $goodsOptnInnbOptn3;
|
|
});
|
|
if (isItemAlreadyAdded){
|
|
fn_goods_duplicate_select_modal()
|
|
return;
|
|
}
|
|
|
|
const $relateGoodsInnb = $(this).closest("#relateMoreItemsSelect").find('input[name="relateGoodsInnb"]').val()
|
|
cartProductArr.push([$title, 1, $priceNumOptn3, $priceNumOptn3 * 1, $goodsOptnInnbOptn3, $goodsOptnTyOptn3, $relateGoodsInnb, $optnEssnlAtOptn3]); // 배열에 상품 정보 추가
|
|
$('#cartCountContainer').append( // 화면에 상품 정보 추가
|
|
'<div class="product-count">' +
|
|
'<div class="product-count__amount-top">' +
|
|
'<span class="product-count__amount-title">' + $title + '</span>' +
|
|
'<button class="product-count__amount-delete"><span class="visually-hidden">삭제</span></button>' +
|
|
'</div>' +
|
|
'<div class="product-count__amount-bottom">' +
|
|
'<div class="product-count__amount-counter">' +
|
|
'<button class="product-count__amount-btn minus"><span class="visually-hidden">감소</span></button>' +
|
|
'<span class="product-count__amount-number">1</span>' +
|
|
'<button class="product-count__amount-btn plus"><span class="visually-hidden">추가</span></button>' +
|
|
'</div>' +
|
|
'<div class="product-count__amount-price-box">' +
|
|
'<span class="product-count__amount-monthly-price">'+$goodsOptnInfoOptn3+'</span>' +
|
|
'<span class="product-count__amount-price"><span class="comma product-count__amount-priceNum">' + $priceNumOptn3 +
|
|
'</div>' +
|
|
'</div>' +
|
|
'</div>'
|
|
);
|
|
|
|
$(this).val('').niceSelect('update')
|
|
updateCartCounters(); // 화면에 상품 정보 업데이트
|
|
});
|
|
|
|
//prodctArr에 추가시 중복제거
|
|
function addUniqueProducts(productArr, cartProductArr) {
|
|
// cartProductArr의 중복 제거
|
|
var uniqueCartProductArr = cartProductArr.filter(function(cartProduct, index, self) {
|
|
return index === self.findIndex(function(t) {
|
|
return t[4] === cartProduct[4]; // 각 배열의 첫 번째 요소(goodsOptnInnb) 기준으로 중복 제거
|
|
});
|
|
});
|
|
|
|
// uniqueCartProductArr를 반복하면서 productArr에 없는 상품을 추가
|
|
uniqueCartProductArr.forEach(function(cartProduct) {
|
|
var existsInProductArr = productArr.some(function(product) {
|
|
return product[4] === cartProduct[4]; // 각 배열의 첫 번째 요소(goodsOptnInnb) 비교
|
|
});
|
|
|
|
// productArr에 존재하지 않는 경우에만 추가
|
|
if (!existsInProductArr) {
|
|
productArr.push(cartProduct);
|
|
}
|
|
});
|
|
}
|
|
|
|
|
|
// //함께 구매하기 버튼 클릭시
|
|
$(document).on('click', '#addGoodsDtl',function () {
|
|
//상품 선택 확인
|
|
// if(cartProductArr.length <= 0){
|
|
// alert('상품옵션을 선택해 주세요');
|
|
// return;
|
|
// }
|
|
|
|
//추가구성옵션 - 필수추가구성옵션 있는지 확인
|
|
var values = $('input[name="productDetailInfo__additionalSelect__otpnEssntlAt__relate"]').map(function() {
|
|
return $(this).val();
|
|
}).get();
|
|
|
|
if(values.includes('Y')){
|
|
var isAddedOptnEssntlAt = cartProductArr.some(function (item) {
|
|
return item[7] === 'Y'
|
|
});
|
|
|
|
if(!isAddedOptnEssntlAt){
|
|
alert('필수추가옵션을 선택해 주세요');
|
|
return;
|
|
}
|
|
}
|
|
|
|
//일반옵션 라디오 버튼 체크 해제
|
|
$('#relatedProductPop input[type="radio"]').prop('checked', false);
|
|
|
|
//상품 상세 화면에 추가
|
|
addUniqueProducts(productArr, cartProductArr)
|
|
$('#countContainer').append($('#cartCountContainer').find('.product-count'))
|
|
updateTotalPriceProd() // 함께하면 좋은 상품 가격 더하기
|
|
closeModal('relatedProductPop')
|
|
|
|
})
|
|
|
|
// 3자리마다 "," 추가
|
|
function addComma(num) {
|
|
return num.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
|
|
}
|
|
|
|
|
|
//메인 상품 상세에 가격 더하기
|
|
function updateTotalPriceProd() {
|
|
var totalPrice = 0; // 총 상품금액
|
|
for (var i = 0; i < productArr.length; i++) {
|
|
totalPrice += productArr[i][3]; // 배열의 총 가격을 더함
|
|
}
|
|
$(".productDetailInfo__priceTotal__totalPriceNum").text(addComma(totalPrice)); // 총 상품금액 텍스트 변경
|
|
}
|
|
|
|
|
|
/*************************************************************
|
|
함께하면 좋은상품 이벤트 (모달) END
|
|
**************************************************************/
|
|
|
|
|
|
</script>
|
|
<div class="productOption" id="relate-product-option-sheet" style="padding-bottom: 0">
|
|
<input type="hidden" id="relateSlepricDscntAmt" value="${relateResultMap.goodsDtl.slepric}"/>
|
|
<c:if test="${not empty relateResultMap.optnList.normalOptnList}">
|
|
<p class="productOption__title">옵션 선택</p>
|
|
<div class="product-option">
|
|
<c:forEach var="goodsOpt01" items="${relateResultMap.optnList.normalOptnList}" varStatus="optList01">
|
|
<c:if test="${goodsOpt01.optnExpsrAt eq 'Y'}">
|
|
<c:if test="${goodsOpt01.invntrySldoutExpsrAt eq 'Y'}">
|
|
<div class="product-option__item">
|
|
<c:if test="${not empty goodsOpt01.optnVal1}">
|
|
<div class="custom-radio is-medium">
|
|
<input type="hidden" name="relateGoodsInnb" value="${goodsOpt01.goodsInnb}" />
|
|
<input type="radio" id="r-2${goodsOpt01.optnOrdr}" name="r-group01" <c:if test="${goodsOpt01.disableAt eq 'Y'}"> disabled</c:if> >
|
|
<label for="r-2${goodsOpt01.optnOrdr}">${goodsOpt01.optnVal1}</label>
|
|
<input type="hidden" name="optnCd" value="${goodsOpt01.optnCd1}">
|
|
<input type="hidden" name="goodsOptnInnb" value="${goodsOpt01.goodsOptnInnb}"/>
|
|
<input type="hidden" name="goodsOptnTy" value="${goodsOpt01.optnTy}"/>
|
|
<input type="hidden" name="goodsSopmalCd" value="${goodsOpt01.sopmalCd}"/>
|
|
<c:if test="${goodsOpt01.disableAt eq 'Y'}"> <span>(품절)</span></c:if>
|
|
</div>
|
|
<div class="product-option__right">
|
|
<span class="product-option__price"><fmt:formatNumber value="${goodsOpt01.slepric}"/>원</span>
|
|
<span class="product-option__monthly-payment">${goodsOpt01.optnInfo}</span>
|
|
</div>
|
|
</c:if>
|
|
</div>
|
|
</c:if>
|
|
</c:if>
|
|
</c:forEach>
|
|
</div>
|
|
</c:if>
|
|
<c:if test="${not empty relateResultMap.optnList.invntryOptnList}">
|
|
<p class="productOption__title">옵션 선택</p>
|
|
<div class="selectOptionItem" id="relateAdditionalSelect">
|
|
<c:if test="${not empty relateResultMap.optnList.invntryOptnList[0].optnNm1}">
|
|
<div class="select-box">
|
|
<input type="hidden" name="relateGoodsInnb" value="${relateResultMap.optnList.invntryOptnList[0].goodsInnb}" />
|
|
<input type="hidden" name="relateGoodsNm" value="${relateResultMap.goodsDtl.goodsNm}" />
|
|
<select class="full" title="해당 셀렉트에 대한 설명" id="selectRelateInvntryOptn1" name="selectRelateInvntryOptn">
|
|
<option value="" selected>선택</option>
|
|
<c:forEach var="goodsOpt02" items="${relateResultMap.optnList.invntryOptnList}" varStatus="optList02">
|
|
<c:if test="${goodsOpt02.optnExpsrAt eq 'Y'}">
|
|
<c:if test="${goodsOpt02.invntrySldoutExpsrAt eq 'Y'}">
|
|
<c:if test="${goodsOpt02.optnVal1 ne relateResultMap.optnList.invntryOptnList[optList02.index-1].optnVal1}">
|
|
<option value="${goodsOpt02.slepric}|${goodsOpt02.goodsOptnInnb}|${goodsOpt02.optnInfo}|${goodsOpt02.optnTy}" <c:if test="${goodsOpt02.disableAt eq 'Y'}"> disabled </c:if> >
|
|
<c:out value="${goodsOpt02.optnVal1}"/>
|
|
</option>
|
|
</c:if>
|
|
</c:if>
|
|
</c:if>
|
|
</c:forEach>
|
|
</select>
|
|
</div>
|
|
</c:if>
|
|
<c:if test="${not empty relateResultMap.optnList.invntryOptnList[0].optnNm2}">
|
|
<div class="select-box">
|
|
<select class="full" title="해당 셀렉트에 대한 설명" id="selectRelateInvntryOptn2" name="selectRelateInvntryOptn">
|
|
<option value="" disabled selected>선택</option>
|
|
</select>
|
|
</div>
|
|
</c:if>
|
|
<c:if test="${not empty relateResultMap.optnList.invntryOptnList[0].optnNm3}">
|
|
<div class="select-box">
|
|
<select class="full" title="해당 셀렉트에 대한 설명" id="selectRelateInvntryOptn3" name="selectRelateInvntryOptn">
|
|
<option value="" disabled selected>선택</option>
|
|
</select>
|
|
</div>
|
|
</c:if>
|
|
<c:if test="${not empty relateResultMap.optnList.invntryOptnList[0].optnNm4}">
|
|
<div class="select-box">
|
|
<select class="full" title="해당 셀렉트에 대한 설명" id="selectRelateInvntryOptn4" name="selectRelateInvntryOptn">
|
|
<option value="" disabled selected>선택</option>
|
|
</select>
|
|
</div>
|
|
</c:if>
|
|
</div>
|
|
</c:if>
|
|
<c:if test="${not empty relateResultMap.optnList.addedOptnList}">
|
|
<p class="productOption__title">추가구성</p>
|
|
<div class="selectOptionItem" id="relateMoreItemsSelect">
|
|
<input type="hidden" name="relateGoodsInnb" value="${relateResultMap.optnList.addedOptnList[0].goodsInnb}"/>
|
|
<c:forEach var="goodsOpt03" items="${relateResultMap.optnList.addedOptnList}" varStatus="optList03">
|
|
<c:if test="${not empty goodsOpt03.optnNm1}">
|
|
<c:if test="${relateResultMap.optnList.addedOptnList[optList03.index-1].optnNm1 ne goodsOpt03.optnNm1}">
|
|
<div class="select-box">
|
|
<input type="hidden" name="selectOptionItem__otpnEssntlAt__added" <c:if test="${goodsOpt03.optnEssntlAt eq 'Y'}"> value="Y"</c:if>/>
|
|
<select class="full" title="해당 셀렉트에 대한 설명" name="selectRelateAddedOptn">
|
|
<option value="" disabled selected>${goodsOpt03.optnNm1} 선택</option>
|
|
<c:forEach var="goodsOptVal03" items="${relateResultMap.optnList.addedOptnList}" varStatus="optVal03">
|
|
<c:if test="${goodsOptVal03.optnNm1 eq goodsOpt03.optnNm1}">
|
|
<c:if test="${goodsOptVal03.optnExpsrAt eq 'Y'}">
|
|
<c:if test="${goodsOptVal03.invntrySldoutExpsrAt eq 'Y'}">
|
|
<option value="${goodsOptVal03.slepric}|${goodsOptVal03.goodsOptnInnb}|${goodsOptVal03.optnInfo}|${goodsOptVal03.optnTy} " <c:if test="${goodsOptVal03.disableAt eq 'Y'}"> disabled</c:if> ><c:out value="${goodsOptVal03.optnVal1}"/> (+ <fmt:formatNumber value="${goodsOptVal03.slepric}"/>) <c:if test="${goodsOptVal03.disableAt eq 'Y'}"> <c:out value="(품절)"/> </c:if> </option>
|
|
</c:if>
|
|
</c:if>
|
|
</c:if>
|
|
</c:forEach>
|
|
</select>
|
|
</div>
|
|
</c:if>
|
|
</c:if>
|
|
</c:forEach>
|
|
</div>
|
|
</c:if>
|
|
<%-- <p class="productOption__title">상품정보 입력</p> TODO :: 입력옵션--%>
|
|
<%-- <div class="inputOptionItem">--%>
|
|
<%-- <input id="addTextInput" class="input-text full" type="text" title="해당 인풋에 대한 설명"--%>
|
|
<%-- placeholder="각인 문구를 입력해주세요" value="">--%>
|
|
<%-- <button type="button" id="addTextBtn" class="btn outline md">저장</button>--%>
|
|
<%-- </div>--%>
|
|
<div id="cartCountContainer">
|
|
</div>
|
|
</div> |