2016-04-12 8 views
1

Ich versuche, {leerer} Text zum Eingabefeld zu ersetzen, aber es ersetzt nur einen {leeren} Text zum Eingabefeld, ich will allen {leeren} Text zum Eingabefeld ersetzen. Unten ist der Code für refrenceErsetzen Sie mehrfachen {leeren} Text zum Eingabefeld

$(".editer-save .btn-primary").click(function(){ 
     $("#editor").each(function(){ 
      $this = $(this); 
      $this.html($this.html().replace('{blank}','<input type="text">')); 
      $('#editorPreview').show().html($('#editor').cleanHtml()); 
     }); 
    }); 

Antwort

0

Verwenden regex mit g Flagge für die globale Spiel in String gesetzt:

var r= '{blank}'; 
var re = new RegExp(r, 'g'); 
$this.html($this.html().replace(re, '<input type="text"/>')); 
0

Sie werden einen regulären Ausdruck anstelle eines einfachen Zeichenfolge verwenden möchten.

$this.html($this.html().replace(/{blank}/g,'<input type="text">')); 

Der Grund dies funktionieren wird, ist, dass ein einfacher String nur einmal abgestimmt ist, sondern ein regulärer Ausdruck mit einem globalen Flag (das ist, was die ‚g‘ am Ende ist) wird alle Instanzen entspricht.

Verwandte Themen