asked on September 16, 2021

I have found two ways of adding a multiple selection option to drop-down lists. One makes uses of Select2 the other is used on a normal selection drop-down. For my form the drop downs are filled from a look up. I discovered what I feel is a big issue and wanted to see if anyone knows how to fix it.

What is happening when I use either of the ways I mentioned to create a multi-select, it makes it so when the submit button is clicked that even if there are required fields without data the form still submits as if it was valid. I can tell the validation is happening because for a split second I see those with missing data turning red and showing that a value is required, but then the form submits anyway.

Code I used for the Select2 multi select

JavaScript

$(document).ready (function () {
  /*******************************************************************************/
  /*  START: Select2 - allow better searching of a Drop down and force user to   */
  /*  select from available list                                                 */
  /*******************************************************************************/
  
  /*  the function ApplySelect2 can be moved to the global functions*/  
  function ApplySelect2() {
 
    $.getScript('https://<<path to code>>/js/select2.min.js', function () { 
      $('.select2Dropdown select').select2({
        placeholder: "Enter Department",
        width: "370px",
        allowClear: true
      });
      
      $('.select2DropdownMulti select').select2({
        placeholder: "Enter All Department",
        width: "370px",
        allowClear: true,
        multiple: true
      });      
      
    });
  };
  
  
  $('head').append('<link rel="stylesheet" href="https://<<path to code>>/js/select2.min.css" type="text/css" />');

  ApplySelect2();

  
  /* applies the format when a new row is added to a table or a collection */
  /* NOTE: if you have several tables or collections then you may want to  */
  /* change this  so it only gets called for those tables or collections   */
  /* that use the select2. Or even removed the next 3 lines of code if     */
  /* there are no select2 fields in tables or collections.                 */
  $('.cf-table-add-row, .cf-collection-append').on('click', function() {
    ApplySelect2();
  });  


 }); /* END: $(document).ready (function () { */ 

 

Code I used for the normal multi select

CSS

.dropdownMulti select {
	height: auto;
}

JavaScript

$(document).ready (function () {
  /* Wait until after the lookup is complete */
  $(document).on('onloadlookupfinished', function(event){ 
    
    $('.dropdownMulti select').attr('multiple', true);
    
  }); /* END: $(document).on('lookupcomplete', function(event)*/  
 }); /* END: $(document).ready (function () { */   

 

So does anyone know how to fix this issue so I can use at least one of these options?

 

0 0