0

jQueryダイアログボックスのボタンを非表示/無効にするのを手伝ってもらえますか?

シナリオ: ボタンをクリックすると、[追加] ボタンと [更新] ボタンのあるダイアログ ボックスが開きます。ダイアログ内には、日付とメッセージを含む 2 つのテキスト ボックスがあります。データがデータベースに既に存在する場合、両方ともデータが入力されます。それ以外の場合は空白になり、ユーザーがデータを追加できるようになります。

ここで、テキスト ボックスにデータが事前に入力されている場合 (メッセージがデータベースに存在する場合)、ユーザーはメッセージのみを更新できるため、[追加] ボタンを非表示にする必要があります。ボタンをクリックするとボックスが表示されるので、ボタンを動的に作成していると思いますが、その場で非表示にすることはできません。

また、ダイアログボタンにIDを付けて、以下のコードを使用して非表示/無効にしようとしました: $('#id').hide(); $('#id').attr('無効','無効');

以下のフィドルを調べましたが、これはまさに私が望んでいるものですが、これを採用すると、多くのコードを変更する必要があります。だから、誰かが私に簡単な解決策を提供できるかどうか疑問に思っていました.

[http://jsfiddle.net/kkh2a/1/]

前もって感謝します。

    $('#dialog-form').dialog({width:350,height:300,
    resizable:false,
    modal:true,
    closeOnEscape: true,
    draggable:false,
    show:{effect:"fade"},
    buttons:{
        Add:{
            text:'Add',
            id:'AddMsg',
            click:function(){

        }},
        Update:function(){
            },
        Cancel:function(){
            $(this).dialog("close");
        }
    }});
4

2 に答える 2

0

こんにちは、私はこのように使用します:

$("#myDivForLoadingDialog").dialog({
    modal: true,
    resizable: false,
    height: "auto",
    draggable: false,
    closeOnEscape: false,
    open: function (event, ui) {
        $("#myDivForLoadingDialog").prev().hide();
    }
})

オプションにボタンを設定しないと、内部にボタンが表示されません

closeOnEscape: false を設定して、読み込み中のメッセージが「esc」ボタンで閉じられないようにします

opencallback で、すべてのタイトル ボックス (およびその中にある閉じるボタン) を非表示にします。

メッセージの読み込みに必要のないドラッグ、サイズ変更、およびすべての機能を避けることを好みます。

jQuery 1.11.1で動作します(おそらく以前のすべてのバージョンで動作します)

于 2014-09-08T13:54:25.050 に答える