테스트 사이트 - 개발 중인 베타 버전입니다

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

앤시아 6년 전 조회 4,034

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

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

 

 

 

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

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

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

 

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

 

</p>

<p> </p>

<p><script></p>

<p>            $(function() {</p>

<p>                $("#btn_search_item").click(function() {</p>

<p>                    var ca_id = $("#sch_relation").val();</p>

<p>                    var it_name = $.trim($("#sch_name").val());</p>

<p>                    var $relation = $("#relation");</p>

<p> </p>

<p>                    if(ca_id == "" && it_name == "") {</p>

<p>                        $relation.html("<p>상품의 분류를 선택하시거나 상품명을 입력하신 후 검색하여 주십시오.</p>");</p>

<p>                        return false;</p>

<p>                    }</p>

<p> </p>

<p>                    $("#relation").load(</p>

<p>                        "./itemformrelation.php",</p>

<p>                        { it_id: "<?php echo $it_id; ?>", ca_id: ca_id, it_name: it_name }</p>

<p>                    );</p>

<p>                });</p>

<p> </p>

<p>                $(document).on("click", "#relation .add_item", function() {</p>

<p>                    // 이미 등록된 상품인지 체크</p>

<p>                    var $li = $(this).closest("li");</p>

<p>                    var it_id = $li.find("input:hidden").val();</p>

<p>                    var it_id2;</p>

<p>                    var dup = false;</p>

<p>                    $("#reg_relation input[name='re_it_id[]']").each(function() {</p>

<p>                        it_id2 = $(this).val();</p>

<p>                        if(it_id == it_id2) {</p>

<p>                            dup = true;</p>

<p>                            return false;</p>

<p>                        }</p>

<p>                    });</p>

<p> </p>

<p>                    if(dup) {</p>

<p>                        alert("이미 선택된 상품입니다.");</p>

<p>                        return false;</p>

<p>                    }</p>

<p> </p>

<p>                    var cont = "<li>"+$li.html().replace("add_item", "del_item").replace("추가", "삭제")+"</li>";</p>

<p>                    var count = $("#reg_relation li").size();</p>

<p> </p>

<p>                    if(count > 0) {</p>

<p>                        $("#reg_relation li:last").after(cont);</p>

<p>                    } else {</p>

<p>                        $("#reg_relation").html("<ul>"+cont+"</ul>");</p>

<p>                    }</p>

<p> </p>

<p>                    $li.remove();</p>

<p>                });</p>

<p> </p>

<p>                $(document).on("click", "#reg_relation .del_item", function() {</p>

<p>                    if(!confirm("상품을 삭제하시겠습니까?"))</p>

<p>                        return false;</p>

<p> </p>

<p>                    $(this).closest("li").remove();</p>

<p> </p>

<p>                    var count = $("#reg_relation li").size();</p>

<p>                    if(count < 1)</p>

<p>                        $("#reg_relation").html("<p>선택된 상품이 없습니다.</p>");</p>

<p>                });</p>

<p>            });</p>

<p>            </script></p>

<p>

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

답변 2개

채택된 답변
+20 포인트
6년 전

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

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

답변에 대한 댓글 1개

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

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

6년 전

해결했습니다. ㅠㅠ

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

 

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

 

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

 

정리하자면...

<script>

(function($) {

(JQuery 내용)

})(jQuery);

</script> 

입니다.

 

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

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

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

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

로그인