문제

사과 매우 기본 질문 - JavaScript의 충돌 과정이 다가 오십시오! 그러나 그 전에는 JavaScript 기능이 있습니다.

 function toggle(request)

이 함수는 단순히 DIV를 가시/보이지 않는 것으로 전환합니다. 이 기능에서 원하는 동작을 사용하여 원하는 동작을 트리거 할 수 있습니다. onclick 다음과 같이 이벤트 :

<input type="radio" name="complete" value="true" id="complete_yes" 
onclick="toggle('true');"/>

이것은 잘 작동하지만 양식을 게시 한 후 특정 조건에서 라디오 버튼을 자동으로 선택하고 JavaScript 기능을 자동으로 설정하기를 원합니다.

toggle('true') 

... 따라서 div 내용을 드러냅니다. "확인 된"부품이 작동했지만 JavaScript 기능이 조건부로 True Aswell로 설정하도록하려면 어떻게해야합니까?

<input type="radio" name="complete" value="true" {if $data.complete == true}checked{/if} id="complete_yes" 
onclick="toggle('true');"/>
도움이 되었습니까?

해결책

대신 jQuery를 배우기로 결정했습니다! 아래 구문은 원하는 결과를 달성하고 매우 유지 가능합니다!

$(document).ready(function () {
 $('#complete_yes').toggle(function () {
    $('#repair_complete').removeClass('hidden');
 }, function() {
    $('#repair_complete').addClass('hidden');
});
});

다른 팁

JS에서 테스트는 어떻습니까? toggle 기능, DIV를 입력의 "확인 된"상태에 따라 DIV를 보이게 해야하는 경우?

이와 같은 것 같아요 : 나는 다음과 같이 생각한다.

function toggle()
{
    if (document.getElementById('YOUR_INPUT_ID').checked) {
        document.getElementById('YOUR_DIV_ID').style.display = 'block';
    } else {
        document.getElementById('YOUR_DIV_ID').style.display = 'none';
    }
}

절대적으로 테스트되지 않았지만 아이디어를 얻을 수 있다고 생각합니다 :-)
(onclick의 JS 함수가 호출되기 전후에 "확인 된"입력이 전혀 모릅니다 ... 따라서 실제로 반전해야 할 수도 있습니다. 'block' 그리고 'none'설정)

그리고 여러 입력/div가있는 경우 ID를 매개 변수로 전달할 수 있습니다. toggle 기능...

그렇게하면 해당 기능에 대한 어떤 종류의 "초기화"에 대해 걱정할 필요가 없습니다.


DIV가 보이는지 테스트 할 수도 있습니다.

function toggle()
{
    if (document.getElementById('YOUR_DIV_ID').style.display == 'none') {
        document.getElementById('YOUR_DIV_ID').style.display = 'block';
    } else {
        document.getElementById('YOUR_DIV_ID').style.display = 'none';
    }
}

(테스트되지 않음)

그렇게하면 당신의 기능은 실제로 할 것입니다 비녀장 DIV가 표시 될 때마다 표시됩니다.

왜 다음과 같은 일을하지 않겠습니까?

{if $data.complete == true}
<script type="text/javascript">toggle('true');</script>
{/if}
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top