2015-09-07 3 views
6

私はindex1.phpという名前のファイルを持っています。これはfile1.phpという別のファイルを含んでいます(index.phpにはjQuery、jsなどに必要なファイルがすべて含まれています)。 file1.phpには、それぞれモーダルを開くボタン付きの表があります。モーダルの情報は、file2.phpのajax呼び出しからのものです。 file2.phpに私はテーブルを作成します。表では、私は、セルを持っている:ajaxの後にブートストラップのツールチップが動作しない

<button class='btn btn-default tooltip-default' data-toggle='tooltip' data-trigger='hover' data-placement='top' data-content='content' data-original-title='Twitter Bootstrap Popover'>AAA</button> 

と、よく、ツールチップは動作しません。 しかし、これをコピーしてfile1.phpに取得すると、表の下に表示され、ツールチップが機能します。

誰でもツールチップを修正できますか? Thx。

答えて

5

あなたは新しく到着したデータのツールチップを初期化する必要があると思います。

$('[data-toggle="tooltip"]').tooltip(); 

DOM操作後、このコードをAJAX成功ハンドラに配置します。

+1

回答はうまくいったが、さらに明確にするために、返されるAJAXページの最後に次のコードを挿入した。 user1405736

+0

DOM操作後、AJAX成功ハンドラにコードを追加しました。それはうまくいって、それはしませんでした。私はそれがいつもうまくいかない理由について混乱しています。私はユーザーがいくつかのフィルタを選択し、フォームを送信し、結果を得ることができるフォームを持っています...そしてプロセスを繰り返します。 AJAXは結果のクエリを実行し、結果を表示します。結果には、データの1つをツールチップまたはポップオーバーとして機能させることが必要です。それは1つか2つのフォーム提出のために働くかもしれませんし、その後はうまくいきません。メインページをリロードして再び動作させる必要があります。 – Roberto

+0

@Roberto、あなたの成功関数が呼び出されておらず、あなたのajaxがエラーハンドラを呼び出している可能性があります。完全なハンドラの内部で呼び出すことは、より一貫していなければなりません。 – eaglei22

0

私はそうのように配置することによって、私のツールチップを設定します。

function setUpToolTipHelpers() { 
    $(".tip-top").tooltip({ 
     placement: 'top' 
    }); 
    $(".tip-right").tooltip({ 
     placement: 'right' 
    }); 
    $(".tip-bottom").tooltip({ 
     placement: 'bottom' 
    }); 
    $(".tip-left").tooltip({ 
     placement: 'left' 
    }); 
} 

は、文書準備コールでこれを初期化します。

$(document).ready(function() { 
     setUpToolTipHelpers(); 
    }); 

私はツールチップの配置を決定することができるこの方法を、そして私は、クラスとタイトルを使用してヒントを割り当てる必要があります:

<td class = "tip-top", title = "Some description">name</td> 

私は "setU pToolTipHelpers() "私の成功ajax関数の中で。または、完全な関数でも呼び出すことができます。これは私のためにうまくいくようです。