Nachtrag:
ich habe mit
Code:
// check event
$('.' + myTable).on('change', function(event) {
console.log('table is changed by: ', event.target);
});
herausfinden können, dass 'hideOnEmptyOptionList' der Tabelle dazu führt, dass die Tabelle wieder angezeigt wird, da die Tabelle nach einem change nicht leer ist. Ich habe mein Test-Skript nun so abgeändert:
Code:
// initialize after document is ready
jQuery(document).ready(function() {
var myTable = 'field16'; // Tabelle
var mySelect = 'field14'; // Listbox
var myValue = 'hidden3'; // bei diesem Wert Tabelle unsichtbar, sonst sichtbar
$('#' + mySelect).on('change', function() {
var mySelectVal = $('#' + mySelect).val();
console.log('mySelect is changed (true or not?) - Value = "' + mySelectVal + '"');
if ( mySelectVal === myValue ) {
$('#' + myTable).removeClass(' hideOnEmptyOptionList');
$('.' + myTable).hide();
console.log('table is hidden by select');
} else {
$('#' + myTable).addClass(' hideOnEmptyOptionList');
$('.' + myTable).show();
console.log('table is visible by select');
}
});
// check event
$('.' + myTable).on('change', function(event) {
console.log('table is changed by: ', event.target);
});
});
Das macht genau das, was ich mir wünschte, ohne die eigentliche visforms-Funktionalität zu beeinträchtigen.
Ich hoffe, ich habe jetzt nicht unnötig viel Arbeit produziert.