2016-10-09 5 views
0

私はすでにこれを探していましたが、それを動作させる方法を見つけられませんでした。私は、ループ内でモーダルブートストラップモーダル置き換えプレースホルダー

<div class="modal fade" id="info" tabindex="-1" role="dialog" aria-labelledby="infoLabel" aria-hidden="true"> 
    <div class="modal-dialog modal-sm"> 
     <div class="modal-content"> 
      <div class="modal-header"> 
       Informations 
       <button type="button" class="close" data-dismiss="modal">&times;</button> 
      </div> 
      <div class="modal-body"> 
       Added: PLACEHOLDER 
       Modified: PLACEHOLDER2 
      </div> 
      <div class="modal-footer"> 
       <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>   
      </div> 
     </div> 
    </div> 
</div> 
That's

<button type="button" class="btn btn-default" data-toggle="modal" data-target="#info" data-added="<?php if(strtotime($ecp_code->added) > strtotime('2000-01-01 01:00:00')) { echo date('d.m.y H:i', strtotime($ecp_code->added)); } else { echo "-";} ?>" data-modified="<?php if(strtotime($ecp_code->changed) > strtotime('2000-01-01 01:00:00')) { echo date('d.m.y H:i', strtotime($ecp_code->changed)); } else { echo "-";} ?>"><i class="fa fa-info" style="width:14px;"></i></button> 

このボタンを持っている....

私はjQueryの/ AJAXおよびブートストラップに新しいですし、私はそれが簡単にではありません願っています

スクリプト:

<script> 
    $(document).ready(function() { 
     $('#info').on('show.bs.modal', function (event) { 
      var button = $(event.relatedTarget); 
      var added = button.data('added'); 
      var modified = button.data('modified'); 

      var content = 'Added: ' + added + ' Modified: ' + modified + ''; 

      var modal = $(this); 
      modal.find('.modal-body').text(content); 
     }); 
    }); 
</script> 

これはうまくいきます。これは、モーダルボディの内容全体を置き換えます。


しかし今、私はただ一つの単語が置き換えられたかったと思います。 PLACEHOLDERにはvarが追加され、PLACEHOLDER2には変更されたvarが含まれます。 (単なる例です)

<script> 
    $(document).ready(function() { 
     $('#info').on('show.bs.modal', function (event) { 
      var button = $(event.relatedTarget); 
      var added = button.data('added'); 
      var modified = button.data('modified'); 
      var modal = $(this); 
      var res = replace("PLACEHOLDER", (added)); 
      modal.find('.modal-body').text(res); 
     }); 
    }); 
</script> 

このようなものは動作しません。

もう1つ質問:jQueryとAJAXをlernできる良いリソースをご存知ですか?

答えて

0

挿入モーダル体

<div class="modal-body"> 
    <label>Added:</label> 
    <div id="Added"></div> 
    <label>Modified:</label>  
    <div id="Modified"></div> 
</div> 

modal.find('.modal-body #Added').text(your content added); 

そして、2つの新要素:

modal.find('.modal-body #Modified').text(your content modified); 

あなたがそれらのdivに追加されたコンテンツは、あなたがより良い.text()の代わりに.html()を使用することができますhtmlタグが含まれている場合

+0

働いていただきありがとうございます!本当に良いアイデアです。しかし、興味のないもの:モーダルで1つのWordを置き換えることは可能ですか? – wassereimer

+0

このように置き換えることができますcontent = content.replace(/ the_word/g、 "other_word");ここでthe_wordは置き換えたいもので、other_wordは置換します。この回答に回答してください。将来のユーザーにとっては重要です。 replaceメソッドはすべての一致する単語を置き換えることにも留意してください。 – Franco

+0

既に回答とマークされています。 :)私が交換を使用するとき、私はエラーを取得します "Uncaught ReferenceError:置換は定義されていません"。 content = content.replace(/ PLACEHOLDER1/g、added); modal.find( '。modal-body')。テキスト(コンテンツ); – wassereimer