상품등록 관련 질문입니다.
본문
상품등록 페이지에서 관련상품과 이벤트관련 등록이 되지 않는데 크롬 검사를 열어보니 아래 사진과 같이 뜨네요.
이 문제로 이틀간 머리 싸매고 있습니다. ㅜㅜ
콘솔탭과 소스탭의 var count = $("#reg_relation li").size(); 이부분이 문제인듯한데요.
itemform.php 의 스크립트 부분인데 Uncaught TypeError 가 뜨네요.
어디가 잘못인지 스크립트 부분은 건드린게 없는데 밑에는 본문 itemform.php 소스입니다.
SIR님들 명절 추석 한가위 잘보내시길 바랍니다.
<script>
$(function() {
$("#btn_search_item").click(function() {
var ca_id = $("#sch_relation").val();
var it_name = $.trim($("#sch_name").val());
var $relation = $("#relation");
if(ca_id == "" && it_name == "") {
$relation.html("<p>상품의 분류를 선택하시거나 상품명을 입력하신 후 검색하여 주십시오.</p>");
return false;
}
$("#relation").load(
"./itemformrelation.php",
{ it_id: "<?php echo $it_id; ?>", ca_id: ca_id, it_name: it_name }
);
});
$(document).on("click", "#relation .add_item", function() {
// 이미 등록된 상품인지 체크
var $li = $(this).closest("li");
var it_id = $li.find("input:hidden").val();
var it_id2;
var dup = false;
$("#reg_relation input[name='re_it_id[]']").each(function() {
it_id2 = $(this).val();
if(it_id == it_id2) {
dup = true;
return false;
}
});
if(dup) {
alert("이미 선택된 상품입니다.");
return false;
}
var cont = "<li>"+$li.html().replace("add_item", "del_item").replace("추가", "삭제")+"</li>";
var count = $("#reg_relation li").size();
if(count > 0) {
$("#reg_relation li:last").after(cont);
} else {
$("#reg_relation").html("<ul>"+cont+"</ul>");
}
$li.remove();
});
$(document).on("click", "#reg_relation .del_item", function() {
if(!confirm("상품을 삭제하시겠습니까?"))
return false;
$(this).closest("li").remove();
var count = $("#reg_relation li").size();
if(count < 1)
$("#reg_relation").html("<p>선택된 상품이 없습니다.</p>");
});
});
</script>
답변 2
size가 상위버전에서는 지워진거 같은데 jquery를 따로 부르신건 아니신가요?
해결했습니다. ㅠㅠ
나처럼 삽질하지 마시라 글남깁니다.
Uncaught TypeError $().size is not a function 에러는 JQuery 버전 충돌 문제인듯 합니다.
위의 파일은 jQuery를 $로 받아오고 있으니 괜찮을 것 같고요...
아래 파일은 맨 위에 한 줄 넣어주시고
(function($) {
맨 밑에도 한 줄 넣어주세요.
})(jQuery);
이렇게 하면 $를 사용할 수 있습니다.
정리하자면...
<script>
(function($) {
(JQuery 내용)
})(jQuery);
</script>
입니다.
즐거운 추석 보내세요. ^^
답변을 작성하시기 전에 로그인 해주세요.