본문 바로가기
MySql

MySQL 두 번째 클릭시 라디오 버튼 선택 취소

by 베이스 공부 2020. 12. 18.
반응형

데이터베이스에서 값을 가져 오는 라디오 버튼이 많이 있으며 "1"로 설정되어 있으면 라디오 버튼을 선택합니다.

라디오 버튼이 선택되어 있고 사용자가 다시 클릭하면이 버튼을 지울 수 있기를 원합니다. 누구나 아이디어가 있습니까?

$ radio1 은 데이터베이스에서 데이터를 가져 오며 0, 1 또는 2가됩니다.

<input value="1" name="radio1" type="radio"<?php if($radio1==1){echo " checked";} ?>>
<input value="2" name="radio2" type="radio"<?php if($radio1==2){echo " checked";} ?>>

Varun Malhotra의 답변이 약간 수정되었습니다. 좀 더 잘 작동하는 코드 2 줄을 변경했습니다. 그러나 전반적으로 Varun의 대답은 완벽했습니다!

$('input[type="radio"]').click(function(){
    var $radio = $(this);

    // if this was previously checked
    if ($radio.data('waschecked') == true)
    {
        $radio.prop('checked', false);
        $radio.data('waschecked', false);
    }
    else
    {
         $radio.prop('checked', true);
         $radio.data('waschecked', true);
    }

    // remove was checked from other radios
    $radio.siblings('input[type="radio"]').data('waschecked', false);
});

 

해결 방법

 

다음과 같이 각 라디오의 이전 상태를 추적하기 위해 사용자 지정 속성을 추가하는 것이 좋습니다.

$(function(){
    $('input[name="rad"]').click(function(){
        var $radio = $(this);

        // if this was previously checked
        if ($radio.data('waschecked') == true)
        {
            $radio.prop('checked', false);
            $radio.data('waschecked', false);
        }
        else
            $radio.data('waschecked', true);

        // remove was checked from other radios
        $radio.siblings('input[name="rad"]').data('waschecked', false);
    });
});

또한이 속성을 처음에 확인한 라디오 마크 업에 추가해야합니다.

<input type="radio" name="rad" id="Radio0" checked="checked" data-waschecked="true" />


업데이트 :

 $(function(){
        $('input[name="rad"]').click(function(){
            var $radio = $(this);

            // if this was previously checked
            if ($radio.data('waschecked') == true)
            {
                $radio.prop('checked', false);
                $radio.data('waschecked', false);
            }
            else
                $radio.data('waschecked', true);

            // remove was checked from other radios
            $radio.siblings('input[type="radio"]').data('waschecked', false);
        });
    });

그러나 작업 할 다른 라디오 그룹이 없는지 확인하십시오. 그렇지 않으면 이전에 초점을 맞춘 name prop과 같은 이러한 버튼을 지정하기 위해 몇 가지 속성을 제공해야합니다.

 

참조 페이지 https://stackoverflow.com/questions/19895073

 

 

반응형

댓글