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

카테고리 작업 ajax 질문입니다..ㅠ

소파 2년 전 조회 1,938

</p>

<p>function setFilter(ca_id2){</p>

<p>                        if(ca_id2_array.includes(ca_id2)){</p>

<p>                            for(let i = 0; i < ca_id2_array.length; i++) {</p>

<p>                                if(ca_id2_array[i] === ca_id2)  {</p>

<p>                                    ca_id2_array.splice(i, 1);</p>

<p>                                    i--;</p>

<p>                                    //중분류 체크 해제시 소분류도 체크 해제</p>

<p>                                   ?????</p>

<p>                                }</p>

<p>                            }</p>

<p>                        } else {</p>

<p>                            ca_id2_array.push(ca_id2);</p>

<p>                        }</p>

<p> </p>

<p>                        $.ajax({</p>

<p>                            url: "viewList.skin.php",</p>

<p>                            method: "POST",</p>

<p>                            dataType: "html",</p>

<p>                            data: {</p>

<p>                                ca_id: ca_id,</p>

<p>                                ca_id2: ca_id2_array,</p>

<p>                                ca_id3: ca_id3_array,</p>

<p>                            },</p>

<p>                            success: function(result) {</p>

<p>                                $("#list-wrap").html(result);</p>

<p>                                let atchLength = $("#list-wrap ul").children().length;</p>

<p>                                document.getElementById('list-count').innerHTML = atchLength;</p>

<p>                            },</p>

<p>                            error: function(xhr, status, error) {</p>

<p>                                console.error("Error processing form:", error);</p>

<p>                            }</p>

<p>                        });</p>

<p> </p>

<p>                        $('.category_li_3').each(function(){</p>

<p>                            if($(this).hasClass(ca_id2)){</p>

<p>                                if(ca_id2_array.includes(ca_id2)){</p>

<p>                                    $(this).addClass('show');</p>

<p>                                }else{</p>

<p>                                    $(this).removeClass('show');</p>

<p>                                }</p>

<p>                            }</p>

<p>                        });</p>

<p>                    }</p>

<p>

 

저 ??? 부분에서 들어갈 부분 코드를 어떻게 짜야할까요..ㅠ 머리를 짜내도 생각이 안나네요ㅜ

중분류 체크 해제시 하위에 나오는 소분류 값을 없애고싶은데.. 어떻게 해야할까요

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

답변 3개

들레아빠

const associated_ca_id3 = ca_id3_array.filter(ca_id3 => ca_id3.startsWith(ca_id2 + '_')); for (const ca_id3 of associated_ca_id3) { const index = ca_id3_array.indexOf(ca_id3); if (index !== -1) { ca_id3_array.splice(index, 1); } }

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

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

R
2년 전

위 코드에서 .category_li_3 클래스를 가지는 소분류 엘리먼트를 찾아서 해당 중분류가 체크 해제된 경우 show 클래스를 제거해서 숨김 처리하면 중분류 체크 해제 시 소분류도 함께 제거될겁니다. 

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

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

$('.ca_id3').prop('checked', false);
위와 같이 jQuery를 사용하여 모든 카테고리 3를 체크해제하면 될것 입니다.
 

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

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

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

로그인