상품등록 관련 질문입니다. 채택완료

상품등록 페이지에서 관련상품과 이벤트관련 등록이 되지 않는데 크롬 검사를 열어보니 아래 사진과 같이 뜨네요.

이 문제로 이틀간 머리 싸매고 있습니다. ㅜㅜ

3696779805_1568195226.8966.png

3696779805_1568195244.4834.png

콘솔탭과 소스탭의 var count = $("#reg_relation li").size(); 이부분이 문제인듯한데요.

itemform.php 의 스크립트 부분인데 Uncaught TypeError 가 뜨네요.

어디가 잘못인지 스크립트 부분은 건드린게 없는데 밑에는 본문 itemform.php 소스입니다.

SIR님들 명절 추석 한가위 잘보내시길 바랍니다.

Copy
<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개

채택된 답변
+20 포인트

 size가 상위버전에서는 지워진거 같은데 jquery를 따로 부르신건 아니신가요?

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

상위버전이라 하면 어떤걸 얘기하시는지요?
죄송하지만 이해가 안가서요.

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

해결했습니다. ㅠㅠ

나처럼 삽질하지 마시라 글남깁니다.

Uncaught TypeError $().size is not a function 에러는 JQuery 버전 충돌 문제인듯 합니다.

위의 파일은 jQuery를 $로 받아오고 있으니 괜찮을 것 같고요...
아래 파일은 맨 위에 한 줄 넣어주시고
(function($) {
맨 밑에도 한 줄 넣어주세요.
})(jQuery);
이렇게 하면 $를 사용할 수 있습니다.

정리하자면...

<script>

(function($) {

(JQuery 내용)

})(jQuery);

</script> 

입니다.

즐거운 추석 보내세요. ^^

로그인 후 평가할 수 있습니다

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

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고