Ich bin dynamisch an die Verwendung von jquery. Append-Befehl anfügen. Ich habe Probleme mit dem Rendern mehrerer Zeilen. Wenn ich zu viele Bereiche hinzufüge, die nicht in eine Zeile passen, wird der nächste Bereich nicht in die zweite Zeile verschoben. Alle Spannen sind immer noch in einer Linie.Bootstrap + JQuery: Wie Break-Linien von Spannen in div dynamisch erstellt von append
$(document).ready(function() {
$("button").click(function(e) {
addTag($("div#tag-line"),"tag");
});
});
function addTag(tagField, tagValue) {
tag = '<span class="label label-info" style="margin: 2px">' + tagValue + '</span>'
tagField.append(tag);
tagField.hide().fadeIn('fast')
}
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<div class="form-group">
<label for="tags" class="col-lg-3 control-label">Tags</label>
<button>
add
</button>
<h4>
<div id="tag-line" class="col-xs-6" style="border: 2px solid red">
</div>
</h4>
</div>
Wenn Spanne nicht dynamicly every hinzugefügt wird, sieht gut aus:
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<div class="form-group">
<label for="tags" class="col-lg-3 control-label">Tags</label>
<div class="col-lg-9">
<input type="text" class="form-control" id="tokenfield"/>
</div>
<button>
add
</button>
<h4>
<div id="tag-line" class="col-xs-6" style="border: 2px solid red">
<span class="label label-info" style="margin: 2px">asda</span>
<span class="label label-info" style="margin: 2px">asda</span>
<span class="label label-info" style="margin: 2px">asda</span>
<span class="label label-info" style="margin: 2px">asda</span>
<span class="label label-info" style="margin: 2px">asda</span>
<span class="label label-info" style="margin: 2px">asda</span>
<span class="label label-info" style="margin: 2px">asda</span>
</div>
</h4>
</div>
Ich bin Bootstrap und jquery Anfänger und ich bin überzeugt, dass ich musste etwas übersehen. Ich suchte nach einem ähnlichen Beispiel auf dem Stapel, konnte aber nichts finden. Bitte helfen Sie! :)
Der Unterschied zwischen den beiden ist, dass Leerzeichen zwischen den Spannweiten in der ist Reines HTML-Beispiel, das im Javascript nicht existiert. Betrachten Sie einen Bereich, der mit einem Buchstaben identisch ist, und überlegen Sie, wie eine Textzeile unterbrochen wird, wenn zwischen den Buchstaben keine Leerzeichen vorhanden sind, im Gegensatz zu einer Textzeile mit Leerzeichen. – James