2016-05-30 13 views
1

私はモーダルを使用していますが、それに基づいて入力フィールドの値を変更したいということです。モーダルが表示されていないときにモーダルが開いている場合は「更新」、値は「作成」です。変更時に入力フィールド値を変更する

私はこのように試みましたが、ページロードで1回だけ実行されるので、私が望むものではありません。

$('#modalElement').on('hidden', function(){ 
    $('#action-description').val('Create'); 
}); 

しかし、私はそれを動作させることができない:私はまた、このようにしようとしたので、変化に何かを行う必要があり

<input type="text" id="action-description" name="action-description" value=""> 

if (($("element").data('bs.modal') || {}).isShown) { 
    $('#action-description').val('Update'); 
} else { 
    $('#action-description').val('Create');   
} 

そして、入力フィールド!

+1

は何ですかボタン十字をクリックする上でモーダルを閉じるかキャンセルする同様の機能を記述することができますよう

ので、関数を書きます**モーダルの違いは開いている**と**モーダルは隠されていない**上記の説明では? – Ismail

+1

モーダルを表示するためにどのライブラリを使用していますか?ほとんどのモーダルライブラリは、オープン/クローズイベントのコールバックを提供します。これを使用できます。 – TrungDQ

+0

あなたのコードは毎回起動されるようにイベントにバインドする必要があります。たとえば、モーダルを表示または非表示にするイベント。 –

答えて

0

あなたのロジックは正しいです。それを関数に変換し、jqueryのみを使用してモーダルを開くことができます。 (あなたがいずれかを持っている場合)

function openModal(){ 

    $('#myModal').modal('show'); 

    if (($("element").data('bs.modal') || {}).isShown) { 
     $('#action-description').val('Update'); 
    } 

} 

はまた、あなたが

function closeModal(){ 

    $('#myModal').modal('hide'); 
    $('#action-description').val('Create'); 
} 
関連する問題