도움의손길간절함
530
2021-01-25 12:54:11
4
237

json으로 radio버튼 값을 가져와 화면에 뿌릴때 원했던 체크값에 체크가 안되네요 ㅜㅜ


json success 시 체크된 벨류는 정확하게 가져옵니다 ㅠㅠ  벨류에 맞는 체크박스에 체크가 안되네요 ㅠㅠ


var aaa = $('input[name="chk02"]:checked').val(data[0].location);

if(aaa == "left" ){

$('input:radio[name=chk02]').attr("checked", true)

}else if(aaa =="right"){

alert("right");

$('input:radio[name=chk02]:input[value="right"]').attr("checked", true)

}else{

alert("center");

$('input:radio[name=chk02]:input[value="center"]').attr("checked", true)

}

0
  • 답변 4

  • 클라킹
    308
    2021-01-25 13:00:20

    라디오 버튼에서 jQuery 메소드 마다 가끔 안되는 부분이 있긴해요

    attr이 아니라 is? prop?그런걸로 한번 바꿔서 해보세요.

  • 도움의손길간절함
    530
    2021-01-25 13:05:08

                                  $('input:radio[name="chk02"]').prop('checked', true).val(data[0].location);

    //$('input:radio[name="chk02"]').prop('checked', true); //


    이런 식으로도 해봤는데 안되네요...

  • 훈마로
    961
    2021-01-25 14:48:11 작성 2021-01-25 14:49:33 수정됨

    최초에 생성시에는 attr 사용하십시오

    이후 데이터 변경 감지는 prop을 사용하세요


    JS에서 attribute와 properties 차이를 확인해보세요

    jQuery 1.6 이상부터는 해당 차이를 구분해서 attr(), prop() 함수가 동작됩니다.

  • 도움의손길간절함
    530
    2021-01-25 15:21:55

    $.each(data, function() {

    if(this["location"] == "left"){

    alert("left");

    $('input:radio[name="chk02"]').prop('checked', true)

    }else if(this["location"] == "center"){

    alert("center");

    $('input:radio[name="chk02"]').prop('checked', true);

    }else{

    alert("right");

    $('input:radio[name="chk02"]').prop('checked', true);

    }

                     });


    라디오 값은 분명 정확한데 값은 cneter로 찍히지만 상세조회페이지 화면에서는 우측 라디오버튼이 체크되는데 하.. 왠만한 방법은 다했봤지만 안되네요...

  • 로그인을 하시면 답변을 등록할 수 있습니다.