diff --git a/assets/src/legacy/edition.js b/assets/src/legacy/edition.js index a1c1a23f6e..d67480524f 100644 --- a/assets/src/legacy/edition.js +++ b/assets/src/legacy/edition.js @@ -1617,19 +1617,13 @@ var lizEdition = function() { } else { var select = form.find('select[name="'+relationRefField+'"]'); if( select.length == 1 ){ - // Disable the select, the value will be stored in an hidden input - select.val(parentFeatProp) - .attr('disabled','disabled'); - // Create hidden input to store value because the select is disabled - var hiddenInput = $('') - .attr('id', select.attr('id')+'_hidden') - .attr('name', relationRefField) - .attr('value', parentFeatProp); - form.find('div.jforms-hiddens').append(hiddenInput); - // Disable required constraint - jFormsJQ.getForm(form.attr('id')) - .getControl(relationRefField) - .required=false; + // select the option via jquery (and fire event with "change", will update depending controls) + select.val(parentFeatProp).change(); + // create a disabled input with selected option value (will look alike a select) + let readOnlyInput4Select = $(''); + select.parent().append(readOnlyInput4Select); + // hide the select, we don't want to see it, but it need to still be enable for controls that depends of its value + select.addClass('hide'); } else { var input = form.find('input[name="'+relationRefField+'"]'); if( input.length == 1 && input.attr('type') != 'hidden'){