2026, 새로운 도약을 시작합니다.

셀렉트박스에 값별로 addClass 주고 싶은데 채택완료

옵션에 css를 입혀야 해서 select 태그가 아닌 ul 로 구현한 셀렉트박스입니다.

여기서 1,2 를 선택했을때만 특정 class를 추가하고 싶은데

현재는 어떤 값을 선택해도 class가 추가되고 있는데 어떤걸 수정해야 할지 감이 안잡힙니다 ㅠㅠ

Copy




                                            

                                                

                                                  선택

                                                  

                                                

                                                

                                                  1

                                                  2

                                                  3

                                                  4

                                                  5

                                                  6

                                                

                                            

                                            학년

                                        

 

                                        

                                            

                                            반

                                        

                                        

                                            학급 인원 수

                                            

                                            명

                                        

                                    

Copy


// 1,2 선택하면 radio 활성화 / 비활성화

$('.operate li').on('click', function(e) {

  console.log($(this).val());

  const num = Number($(this).val())

 //  숫자값으로 변환

     if($(this).val =1) {

         $('.HgGrdChk').addClass("off")

     }

 })

3554271915_1675389002.5.png

답변 2개

채택된 답변
+20 포인트

※ https://yulfsong.tistory.com/37

※ https://ko.javascript.info/comparison

Copy


$('.operate li').on('click', function() {

    let num = Number($(this).text());

    

    if (num == 1) {

        $('.HgGrdChk').addClass("off");

    }

});

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

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

Copy




$('.operate li').on('click', function(e) {

  const num = Number($(this).text())

 //  숫자값으로 변환

     if(num =1) {

         $('.HgGrdChk').addClass("off")

     }

 })



스크립트값을 text 방식으로 가져오시면 될듯 합니다.

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

답변에 대한 댓글 2개

[code]
$('.operate li').on('click', function(e) {
const text = String($(this).text())
if(text = 1) {
$('.HgGrdChk').addClass("off")
} else {
$('.HgGrdChk').removeClass("off")
}
})
[/code]

이렇게 적었는데도 안되는데 뭘 수정하면 될까요..?
HgGrdChk class 값이 현재 소스에는 보이지 않는데 alert(text); 값이 정상적으로 나오는지 찍어 보시고 그에 따라 class 부분이 제대로 존재하고 있는지 체크해 보셔야 할듯 합니다.

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

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

로그인
🐛 버그신고