In one of my forms, I have 6 MultiSelect widgets of which all will eventually contain up to 5000 different options (30.000 in total per page), all loaded from a remote datasource.
I noticed that when the MultiSelect is first loaded, it loads all possible options, whether or not you have set a pagesize and set server filtering to true.
- a total of 20 results exist on the server
- at any given time, only 10 results are provided to the client, filtered based on the users' input
- on initialization, only the first 10 results are loaded
- assume you have entered a letter 'x' into the multiselect, this returns 6 results which you can select
- now you add a value through the multiselect.value() method, which has an id that is not in the list which contains an x; this will not work as the id does not exist in the current result set, even though it does exist on the server
I've attempted sending the selected values using the parameterMap() method and including those in the returned result set, which works to some extent. But then when I use the multiselect.value() method to add another selection, the change event is not triggered and thus I cannot retrieve the new result set from the server.
Is there another way to achieve what I am trying to do? Or is it possible to manually trigger the updating of the resultset? I've tried using .trigger('change') but that doesn't reload the resultset.
Hoping someone can help!