私はJSを初めて使用するため、これがSilverStripeの問題なのかJavaScriptの問題なのかわかりませんが、ここで説明します。
シンプルなはずなのに問題があります。ドロップダウンに基づいてフィールドを表示/非表示にしたい。切り替えたときにフィールドが非表示/表示されるため、50%動作しますが、ドキュメントの読み込み時に[拒否]が選択されている場合に限ります。誰かが私の間違いを見つけることができるので、私はこれに何週間も費やしませんか?私はfirebugを使用しましたが、保留中または承認済みの場合、フィールドが追加されないことがわかりました。
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);
ありがとう