4

どのチェックボックスがオンになっているかに応じて、要素を非表示または表示することを目標としている CKEditor のプラグインに取り組んでいます。私はそれらの要素を定義しています:

contents :
            [
                {
                    id : 'tab1',
                    label : 'Configuration Basique',
                    elements :
                    [
                        {
                            type : 'checkbox',
                            id : 'check',
                            label : 'Vers une page web',
                            'default' : 'unchecked',
                            onClick : function(){

                            }
                        },
                        {
                            type : 'text',
                            id : 'title',
                            label : 'Explanation',
                        }    
                    ]
                },
                {
                    id : 'tab2',
                    label : 'Advanced Settings',
                    elements :
                    [
                        {
                            type : 'text',
                            id : 'id',
                            label : 'Id'
                        }
                    ]
                }
            ],

だから今私がしたいのは、ラベルでテキスト入力を無効にせず、ボックスがチェックされている場合にのみ印刷することです。だから私はそのようなものを使用する必要があることを見てきました:

onLoad : function(){
                this.getContentElement('tab1','title').disable();
        },

しかし、無効にしたくないのは、ユーザーがボックスをチェックした場合に非表示にしてから印刷したいということです(これが、チェックボックスに onClick 関数を入れる理由です)。hide() 関数を使用しようとしましたが、機能せず、 setAttribute('style','display : none;') Tia :)

4

3 に答える 3

5

実際に要素を非表示にしたい(無効にしたくない)場合は、次を使用してこれを行うことができます

this.getContentElement('tab1','title').getElement().hide();

追加の getElement() 呼び出しは contentElement オブジェクトのリテラル DOM オブジェクトを返すため、自由に hide()/show() を呼び出すことができます。

于 2014-05-07T18:59:45.040 に答える
3

文書化されていませんが、onClick プロパティが利用可能であり、uiElement で動作します。最大の問題は、「これ」の定義がイベント内と構成内の他の場所で同じではないことです。他のフィールドを取得するには、最初にダイアログを取得する必要があります。

{
    type: 'checkbox',
    id: 'check',
    label: 'check',
    onClick: function() {
        var dialog = this.getDialog()
        if(this.getValue()){
            dialog.getContentElement('tab1','title' ).disable();
        } else {
            dialog.getContentElement('tab1','title' ).enable()
        }
    }
}
于 2016-01-19T15:15:47.973 に答える