2012-10-16 69 views
1

我不确定这是SilverStripe还是JavaScript问题,因为我是JS的新手,但这里有。显示/隐藏不起作用

我想尝试一些应该很简单但有麻烦的东西。我想根据下拉菜单显示/隐藏字段。由于该字段在切换时隐藏/显示,但只有在文档加载时选择拒绝时才有效。任何人都可以发现我的错误,所以我没有花费数周的时间?我使用了萤火虫,并发现如果该字段正在等待或接受,该字段永远不会被添加。

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

首先,你为什么要在自调函数里面使用'ready()'函数? – 2619

回答