In einem Formular habe ich zwei Mehrfachauswahl. Ich kann Elemente aus select1 fügen Sie Artikel von select2 mit den folgenden jQuery-Funktionen Select2 oder zu entfernen:Mehrfachauswahl hinzufügen/entfernen in jquery auswählen
<script type="text/javascript">
function addProject() {
return !$('#select1 option:selected').remove().appendTo('#select2');
}
function removeProject() {
return !$('#select2 option:selected').remove().appendTo('#select1');
}
</script>
<select multiple id="select1" class="form-control">
@for(p <- projects) {
option value="@p.getName">@p.getName</option>
}
</select>
<button type="button" class="btn btn-primary" onclick="addProject();" >
<span class='glyphicon glyphicon-plus'></span>
</button>
<button type="button" class="btn btn-primary" onclick="removeProject();" >
<span class='glyphicon glyphicon-minus'></span>
</button>
<select name="projects" multiple id="select2" class="form-control">
</select>
Das Problem ist, dass, wenn ich Artikel in der Select2 und senden Sie das Formular I alle Werte erhalten. Wenn ich Elemente hinzufüge und entferne oder umgekehrt, erhalte ich keine Werte.
Ich habe versucht, eine weitere jquery-Funktion hinzuzufügen, um alle Elemente in select2 auszuwählen, bevor das Formular gesendet wurde, aber nicht funktioniert hat.
function select_projects() {
$('#select2').children('option').attr('selected', 'selected');
}
Wie kann das Problem lösen?
starten: https://stackoverflow.com/questions/13268083/select2-changing-items-dynamically – Zenoo
Ich habe aber nicht scheint auf mein Problem bezogen zu sein. –
Wie in dieser Antwort gesagt, müssen Sie die Funktion '.select2()' erneut aufrufen, wenn Sie die Elemente Ihrer Auswahl ändern möchten. – Zenoo