Closed ghost closed 7 years ago
Es liegt wohl daran dass die dem MultiSelect-Feld nachfolgenden hidden Inputs nicht geupdated werden. Vmtl. fehlt hier der entsprechende Bind im mBlock.
Wer wie ich eine Quick&Dirty Lösung braucht fügt folgendes am Ende seiner Moduleingabe an:
<script type="text/javascript">
$(".mblock_wrapper").bind("DOMSubtreeModified", function() {
$('.mblock_wrapper select[multiple]').each(function(e) {
$(this).val($(this).next('input[type="hidden"]').val().split(","));
});
$('.mblock_wrapper select[multiple]').change(function() {
$(this).next('input[type="hidden"]').val($(this).val());
});
});
</script>
@ex-q magst du ein pull-request fertigen?
Hab ich ehrlich gesagt versucht, aber bin nicht durchgestiegen wo/wie man es korrekt fixt :/
Ok ich werd mir das mal anschauen, ggf. gibt es dann morgen ein fix dafür.
ist gefixt. Problem lag am mform javascript - MBlock arbeitet jetzt auch mit multiple selecte außerhalb von MForm. https://github.com/FriendsOfREDAXO/mblock/commit/b6966b2959283e0009addfb24221284f0e6530e4 https://github.com/FriendsOfREDAXO/mblock/commit/9cabb13a947d16f139d022ed942211229041c75d
@joachimdoerr vielen Dank für die neue Version. Ich habe es getestet und noch einen kleinen Bug gefunden: Die Auswahl der Multi-Selektfelder wird scheinbar nur beim Erstellen des Blocks übernommen. Wenn man den Block nachträglich editiert werden keine Änderungen mehr gespeichert...
Bitte mal testen: https://github.com/FriendsOfREDAXO/mblock/releases/tag/1.6.1
<?php
$form = <<<EOT
<div class="form-group">
<label class="col-sm-2 control-label" for="m1_locations">Arbeitsort</label>
<div class="col-sm-10">
<select class="form-control" name="REX_INPUT_VALUE[1][0][1][]" id="m1_locations" size="2" multiple>
<option value="geneva">Genf</option>
<option value="zurich">Zürich</option>
</select>
</div>
</div>
EOT;
//echo $form;
echo MBlock::show(1, $form);
?>
MultiSelect Felder werden zwar korrekt angezeigt, speichern ihre Inhalte aber nicht. Klappt das bei jemandem? :)