2012-10-16 2 views
1

JS에 익숙하지 않아 여기가 SilverStripe 또는 JavaScript 문제인지 확실하지 않지만 여기에 설명되어 있습니다.표시/숨기기 작동하지 않음

나는 간단해야하지만 문제가있는 뭔가를 시도하고 있습니다. 드롭 다운을 기반으로 필드를 표시하거나 숨기고 싶습니다. 문서가로드 될 때 거부 된 경우에만 필드를 숨기거나 표시 할 때 50 % 작동합니다. 아무도 내 실수를 감지하지 못해서 이것에 몇 주를 보내지 않습니까? 나는 방화범을 사용하고 계류 중이거나 수락 된 경우 필드가 추가되지 않는다는 사실을 발견했습니다.

jQuery = jQuery.noConflict(); 
(function($) { 
$(document).ready(function(){ 
    var dropDown = $('#DataObjectManager_Popup_DetailForm_Status'); 
    var reason = $('#Reason'); 

    if(dropDown.val() == 'rejected' || dropDown.val() == 'Rejected'){ 
     reason.show(); 
    } 

    dropDown.change(function (e) { 
     if(dropDown.val() == 'rejected'){ 
      reason.show(); 
     } 
     else{ 
      reason.hide(); 
     } 
    }).change(); 
}); 
})(jQuery); 

감사

+0

당신이 당신의 html 코드를 게시 할 수있는 질문을했습니다 알려줘? –

+0

@MillyMonster dropDown.val()이 문제라고 생각합니다. – freebird

+0

우선'self invoked function' 내부에서'ready()'함수를 사용하는 이유는 무엇입니까? – 2619

답변

1

이것은 당신 Silverstripe 코드에 관련이 없습니다. 나는 당신을 위해 함께 바이올린을 넣어했습니다

http://jsfiddle.net/tq2Qy/1/

+0

그게 효과가 있어요. 감사. 도움에 감사드립니다. – MillyMonster