This is a simple Wrapper Widget for the jQuery UI MultiSelect Widget by Eric Hynds.
Requirements ¶
Tested with Yii 1.1.8.
Unpack the widget ¶
Extract the contents of the zip file directly into the protected/extensions/
folder of your Yii application.
Use the widget ¶
1. Basic Use with model
and dropDownAttribute
¶
Now you can use the widget in your view file, for example like this:
$data= CHtml::listData(Color::model()->findAll(), 'ID', 'Name');
$this->widget('ext.EchMultiSelect.EchMultiSelect', array(
'model' => $model,
'dropDownAttribute' => 'color',
'data' => $data,
'dropDownHtmlOptions'=> array(
'style'=>'width:378px;',
),
));
This Yii widget creates a 'drop down list' with the given data and applies the JQuery widget to it, which turns the ordinary HTML select control into an elegant MultiSelect list of checkboxes with themeroller support.
To avoid confusion: I refer to the initial select element (that is subsequently hidden) as the 'drop down list'; and to the eventual input element created by the JQuery Widget as the 'MultiSelect list'.
The provided 'dropDownHtmlOptions' will be adopted by the MultiSelect list. If you for example provide a style for the drop down list, it will also applied to the resulting MiltiSelect list.
The drop down list will be hidden directly after it is created: I placed a Javascript code to hide the element directly after it, to prevent it from being displayed while the page is loading, only to be hidden after the page has been loaded (as suggested here). I truly dislike that appearing/disappearing on page load, so I didn'd wait for the MultiSelect widget to hide the drop down list.
Note: You could also hide the drop down list by adding the style display:none
to the dropDownHtmlOptions
. But hiding it via JS-Code provides backward compatibility: if the user has JS disabled, multiselect will not work, but the original select element will stay visible.
2. Basic Use with name
and value
¶
$colors = array('red','yellow','orange','black','green','blue');
$this->widget('ext.EchMultiSelect.EchMultiSelect', array(
'name'=>'colors[]',
'data'=>$colors,
'value'=>array(0,3),
'dropDownHtmlOptions'=> array(
'class'=>'span-10',
'id'=>'colors',
)
));
Here, name
is the name of the drop down list. This must be set if model
and dropDownAttribute
are not set.
value
contains the pre-selected input value(s). In this case, 'red' and 'yellow' will be pre-selected by default. value
is used only if model
is not set.
If you select red, green, blue and submit, $_POST['colors']
will be an array containing the selected values, like: Array([0] => 0,[1] => 4, [2] => 5)
.
If model
and dropDownAttribute
are specified, they are used to generate the name and id of the drop down list. Note that if name
is specified in addition, it overrides the automatically generated name. Similarly, if id
is specified in the dropDownHtmlOptions
, it overrides the generated id.
3. Use as a filter in CGridView
¶
The following example was provided by jeremy (see comments)
$this->widget('zii.widgets.grid.CGridView', array(
....
'columns' => array (
'firstColumn',
'secondColumn',
// use EchMultiSelect for the next column
array (
'name'=>'thirdColumn',
'filter'=> $this->widget('ext.EchMultiSelect.EchMultiSelect', array(
'model' => $model,
'dropDownAttribute' => 'thirdColumn',
'data' => $colors,
'options' => array('buttonWidth' => 80, 'ajaxRefresh' => true),
),
true // capture output; needed so the widget displays inside the grid
),
),
));
By setting 'ajaxRefresh'=>true
, we indicate that the widget should be 'refreshed' after every ajax request that occurs on the current page.
Note that you have to change the original search criteria in the model file:
// $criteria->compare($alias.'.thirdColumn',$this->thirdColumn,true); // <-- original
// Now, that `$this->thirdColumn` is an array, you should use something like this:
if(!empty($this->thirdColumn)) {
foreach($this->thirdColumn as $v) {
$criteria->compare($alias.'.thirdColumnn', $v, false, 'OR');
}
}
Note: In your controller file where you render the grid, you should make the following changes if you have pre-selected values (thanks to Chris Backhouse for pointing out this [issue](http://www.yiiframework.com/extension/echmultiselect/#c11243 'comment #11243')):
public function actionAdmin()
{
$model=new SomeModel('search');
$model->unsetAttributes(); // clear any default values
$model->thirdColumn = array('red','yellow'); // <-- pre-selected values.
if(isset($_GET['SomeModel'])) {
$model->attributes=$_GET['SomeModel'];
if(!isset($_GET['SomeModel']['thirdColumn']))
$model->thirdColumn = array(); // <-- clear pre-selected values
}
}
4. Overriding default options
and filterOptions
¶
You can provide optional parameters for the JQuery widget, if you want to change their default settings. Here's an example:
$data= CHtml::listData(Color::model()->findAll(), 'ID', 'Name');
$this->widget('ext.EchMultiSelect.EchMultiSelect', array(
'model' => $model,
'dropDownAttribute' => 'color',
'data' => $data,
'dropDownHtmlOptions'=> array(
'style'=>'width:378px;',
),
'options' => array(
'header'=> Yii::t('EchMultiSelect.EchMultiSelect','Choose an Option!'),
'minWidth'=>350,
'position'=>array('my'=>'left bottom', 'at'=>'left top'),
'filter'=>true,
),
'filterOptions'=> array(
'width'=>150,
),
));
Now the default “check all”, “uncheck all”, and “close” links in the header will be replaced with the specified text 'Choose an Option!, the widget will have a minimum width of 350px (instead of the default 225px), and the filter plugin will be applied.
Details about the available 'options' and 'filterOptions' for the jQuery UI MultiSelect Widget can be found on the Project page. Here's a list of the options and their default values for quick reference:
// 'options':
'header'=> true,
'height'=>175,
'minWidth'=>225,
'position'=>'',
'checkAllText' => Yii::t('EchMultiSelect.EchMultiSelect','Check all'),
'uncheckAllText' => Yii::t('EchMultiSelect.EchMultiSelect','Uncheck all'),
'selectedText' =>Yii::t('EchMultiSelect.EchMultiSelect','# selected'),
'selectedList'=>false,
'show'=>'',
'hide'=>'',
'autoOpen'=>false,
'noneSelectedText'=>'-- ' . Yii::t('EchMultiSelect.EchMultiSelect','Select Options') . ' --',
'multiple'=>true,
'classes'=>'',
'filter'=>false,
// 'filterOptions':
'label' => Yii::t('EchMultiSelect.EchMultiSelect','Filter:'),
'width'=>100,
'placeholder'=>Yii::t('EchMultiSelect.EchMultiSelect','Enter keywords'),
'autoReset'=>false,
The filter plugin is disabled by default. To enable it, you have to set the filter
attribute to true. The filterOptions
will have no effect, if filter
is set to false, i.e. the filter plugin is disabled.
Note that the default options are already translated with Yii::t() where necessary.
For details about the position
option see the jQuery page for the Position utility. The default position of the Multiselect list array('my'=>'left top', 'at'=>'left bottom')
.
5. import
widgets in config file to simplify calls ¶
As an alternative, you can import the path of your widgets in your config file protected/config/main.php
:
'import'=>array(
...
'ext.EchMultiSelect.*',
...
),
Note that ext
is short for application.extensions
. Now you can call this widget (and any other widgets you may have placed under extensions/widgets/
) with only its name, without specifying its path, i.e. like this:
$this->widget('EchMultiSelect',...);
Changes ¶
- Dec 17, 2012 (v1.3)
- Added the changes suggested by jeremy in the comments, to make this widget work as a 'filter' in CGridView (added the
ajaxRefresh
andbuttonWidth
options). Thanks to jeremy for providing the code! - Added translation files. You can add your own translations to the folder
EchMultiSelect/messages
.
- Added the changes suggested by jeremy in the comments, to make this widget work as a 'filter' in CGridView (added the
- Mar 12, 2012 (v1.2)
- Zipped the Widget-files directly, without putting them into an additional
EchMultiSelect
directory. That is: only directory structure changed. No changes in the code! (Reason of the change: The contents of the zip file are often extracted directly into theextensions
directory, which resulted in the need to call the widget with$this->widget('ext.widgets.EchMultiSelect.EchMultiSelect', array(...);
)
- Zipped the Widget-files directly, without putting them into an additional
- Feb 06, 2012 (v1.1)
- Added the ability to pass options to the MultiSelect Filter Widget via parameter 'filterOptions' (thanks to sucotronic for pointing this out in the forum).
- Made sure 'multiple' attribute of drop down list is set to 'true', even if not explicitly set in 'dropDownHtmlOptions' (only if 'multiple'=>true in 'options' of course).
- Fixed a bug regarding the 'name' parameter
Resources ¶
- jQuery UI MultiSelect Project Page
- jQuery UI MultiSelect Demo page
- jQuery UI MultiSelect GitHub Page
- EchMultiSelect Widget Forum Page
- EchMultiSelect Widget GitHub Page
Changes/Additions
What would you think about the following changes/additions to this widget:
Does someting speak against (one of) these changes?
Thanks for this extension
Hi, c@cba nice extension but can you specify exactly which file should this information included.
protected/extensions/widgets/EchMultiSelect.php protected/extensions/widgets/assets/jquery.multiselect.js protected/extensions/widgets/assets/jquery.multiselect.css protected/extensions/widgets/assets/jquery.multiselect.filter.js protected/extensions/widgets/assets/jquery.multiselect.filter.css
@bonnie
Hi bonnie,
You just have to extract the files under
protected/extensions/widgets/
. Those file paths show only where the files should be located after the extraction.If you call the widget with
$this->widget('ext.widgets.EchMultiselect', ...);
then you don't need to include/import the files in your config file. Because you are specifying the exact path with
ext.widgets.EchMultiSelect
.I hope it's clearer now?
preselect
hi. I cannot preselect entries. I'm using the widget in a _search.php form, where I use a modified advanced search.
In the action displaying the form I added something like this:
$model->my_search_parameter = CHtml::listData(MyModel::model()->findAll(), 'codice','codice');
the widget is then defined this way:
$form->widget('ext.widgets.EchMultiSelect', array( 'model' => $model, 'dropDownAttribute' => 'my_search_parameter', 'data' => MyModel::myDropDownListMethod(), 'dropDownHtmlOptions'=> array( 'style'=>'width:378px;', ), 'options' => array( 'header'=> Yii::t('string','Seleziona gli hotspot'), 'minWidth'=>350, // 'position'=>array('my'=>'left bottom', 'at'=>'left top'), 'filter'=>true, 'noneSelectedText'=>'-- '.Yii::t('string','seleziona almeno un hotspot').' --', 'checkAllText' => Yii::t('string','Seleziona tutte'), 'uncheckAllText' => Yii::t('string','Deseleziona tutte'), 'selectedText' =>Yii::t('string','# selezionato/i'), ), 'filterOptions' => array( 'placeholder'=>Yii::t('string','Ricerca'), 'label' => Yii::t('string','Filtra:'), ), ));
but there's always NO item preselected.
@maxxer - preselect
Hi maxxer,
please note the following two important points:
data
has to be an associative array. It will be used to generate the dropdown list.dropDownAttribute
has to be an array of values; a one deminesional array that contains the preselected values to be specific.In your example you set
$model->my_search_parameter = CHtml::listData(MyModel::model()->findAll(), 'codice','codice');
This is an associative array that can be used as the 'data' to populate the dropdown list. It can not be used as the 'dropDownAttribute'.
I don't know what
MyModel::myDropDownListMethod()
is doing/returning, so I cannot say if there lies a problem.In your Controller Action, there shoud be something like this:
$model->my_options = CHtml::listData(MyModel::model()->findAll(), 'id','values'); /* You can load the preselected values from somewhere, from another model for example. But make sure that eventually $model->my_preselected_values is a one dimensional array, like: */ $model->my_preselected_values = array('id_1', 'id_2', 'id_3');
Then your view file should look like:
'model' => $model, 'dropDownAttribute' => 'my_preselected_values', 'data' => $model->my_options,
We discussed this topic of preselected values here in the forum, you might want to take a look. There are a few good examples that shoud make it clearer...
Best regards...
@c@cba
thanks, fixed!
LIKE LIKE LIKE!:)))
very nice widget:))
In Multiselect mode, if there is a single option, it doesn't work
In Multiselect mode, if there is a single option, it doesn't work. The checkbox gets checked but it doesn't show "1 selected". Whereas it works with jquery ui demo at
http://www.erichynds.com/jquery/jquery-ui-multiselect-widget/
Regards
Deepti
easier way to hide the default drop-down
instead of hiding the default drop-down with jQuery .hide(), I suggest:
init() { ... if (!isset($this->dropDownHtmlOptions['style'])) $this->dropDownHtmlOptions['style']=''; $this->dropDownHtmlOptions['style'] .= ';display:none'; ... run() { ... // following line is not needed //echo '<script type="text/javascript">$("#'.$id.'").hide();</script>'; ... }
using EchMultiselect with CGridView
Here are the steps taken to make this very useful widget work as a 'filter' for CGridView.
The default behavior of CGridView is to do sorting/pagination/filtering in Ajax mode. After each ajax response, portions of the HTML response are used to update the grid. In this case the multi-select widget goes away and the default drop-down is displayed gain. To fix this, the caller should pass an additional option to indicate that it will be using ajax refresh, as follows:
init() $options_default = array( .. 'ajaxRefresh' => false, // add option to redisplay multiselect widgets after ajax refresh
at the end of run(), add the following logic:
run() ... // for CGridView, <select> is refreshed on each ajax request, so the multiselect must be reapplied // trigger this function to fire after ajax action is complete if ($this->options['ajaxRefresh']==true) $jscode .= "jQuery('body').ajaxComplete(function() {jQuery('#".$id."').multiselect(".$joptions."); });"; Yii::app()->getClientScript()->registerScript(__CLASS__ . '#' . $id, $jscode);
Usage from within CGridView:
$this->widget('CGridView',.... 'columns' => array ( 'firstColumn', 'secondColumn', // use EchMultiselect for the next column array ( 'name'=>'thirdColumn', 'value'=> ...., 'filter'=> $this->widget('EchMultiselect', array( 'model' => $model, 'dropDownAttribute' => 'thirdColumn', 'data' => .... 'options' => array('buttonWidth' => 80, 'ajaxRefresh' => true), ), true // capture output; needed so the widget displays inside the grid ), ),
notice the new 'buttonWidth' option. This is because my Grid layout is extremely tight. I need the multi-select buttons to be as narrow as possible, but the drop-down menus to be wider (to show the full description). The default behavior does not support this.
implementation of 'buttonWidth' option in /assets/jquery.multiselect.js:
~~~
[javascript]
options: {
...
buttonWidth: '', /+ JJD /
...
}
_setButtonWidth: function(){
var width = this.element.outerWidth(), o = this.options; if( /\d/.test(o.minWidth) && width < o.minWidth){ width = o.minWidth; } // set widths /* JJD if buttonWidth set use it */ if (o.buttonWidth) width = o.buttonWidth; this.button.width( width );
},
// set menu width
_setMenuWidth: function(){
var m = this.menu, o = this.options, /* +JJD */ width = this.button.outerWidth()- parseInt(m.css('padding-left'),10)- parseInt(m.css('padding-right'),10)- parseInt(m.css('border-right-width'),10)- parseInt(m.css('border-left-width'),10); /* JJD if buttonWidth is manually set and minWidth is set and wider, use it */ if (o.buttonWidth && o.minWidth && o.minWidth > o.buttonWidth) m.width(o.minWidth) else m.width( width || this.button.outerWidth() ); /* orig logic */
},
~~~
@jeremy - Thank You!!
Thank you so much for your contribution!!
I wanted to do this myself for some time now, but didn't have the opportunity.
I implemented your suggestion just now, it works perfectly.
Thanks again, this is very much appreciated!
Do you mind if I incorporate this into the extension, with your comments?
Drop down not closing
Hi i followed your instruction to use this extension, but facing following issues:
PS Im using chrome, and my OS is Ubuntu 12.04
Thanks
Form submit inconsistencies
Hi, I'm just trying out your extension and have found that with the following scenario the wrong values are posted.
Form load, specify one entry of the list as pre-selected (eg: 'value'=>array(0) )
Post -> array OK
Click the previously selected entry (unselect)
POST -> same as first post, ie: previously selected entry is still selected. You would expect an empty array.
It looks as though this could be a problem with the jQuery plugin rather than your extension....any ideas?
UPDATE: When no options are selected it returns an empty string which is not returned by the jQuery(form).serialize() function. Therefore this is not passed onto any form submit.
Subsequently it appears as though $.fn.yiiGridView.update must cache previous values and, as the multi-select variable is not defined, it is not getting re-initialised and the previous value is being POSTED to the controller action.
Reply
@Sukhwinder:
I really don't know what the problem could be and don't have the required system (debian+chrome) to test. It seems to be a compatiblity problem; maybe the jQuery plugin requires things that are not included in your system..?
@Chris Backhouse:
Thanks for sharing the issue and its underlying reasons.
Some js errors found
If js errors, download the updated version of jquery.multiselect.js (http://www.erichynds.com/jquery/jquery-ui-multiselect-widget/)
fixes to work with jQueryUI 1.9.2 (in Yii 1.1.13)
If you're having problems in Yii 1.1.13 (which includes jQueryUI 1.9.2), try this:
(from the author's site: http://www.erichynds.com/jquery/jquery-ui-multiselect-widget/)
//$.Widget.prototype.destroy.call( this );
//$.Widget.prototype._setOption.apply( this, arguments );
Invalid alias
I was getting
Alias "ext.EchMultiSelect.EchMultiselect" is invalid. Make sure it points to an existing PHP file and the file is readable.
Just find out that there is a wrong alias in the examples.
It's
ext.EchMultiSelect.EchMultiselect
and should be
ext.EchMultiSelect.EchMultiSelect
------------------------------------------^
with capital S on last Select word
Fix for yii 1.1.13
Download latest version of the following files in the assets folder:
Add echmultiselect in filter dynamically
Hi ,
I have a CgridView in which columns are coming dynamically. So how to add this extension in filter. Currently I have filter in my column as :-
$columns[$i]['filter'] = CHtml::dropDownList($name, $model->$column_name,$options_value,array('multiple' => 'multiple', 'class' => 3));
@Vinod Agarwal
Sorry for the (very) late reply, I was away for a while...
You probably already solved your problem, but for the sake of completeness:
I think the following should work
$columns[$i]['filter'] = $this->widget('ext.EchMultiSelect.EchMultiSelect', array( 'name'=>'name[]', 'data'=>$options_value, 'value'=>$model->$column_name, 'dropDownHtmlOptions'=> array( 'class'=>'3', ), true ));
Multiselect + ListView + ajax GET + serialize form = request cache
Hi!
I noticed, that when updated CListView via ajax like this:
$.fn.yiiListView.update('{your-clistview-id-here}', { data: $('.search-form form').serialize() });
Select some options in your EchMultiSelect widget, then press search. You have GET request like this:
Model[attribute][] = 1 Model[attribute][] = 2 Model[attribute][] = 3
Then press clearAll button in your EchMultiSelect widget or manually unselect all the options and after that press search again - the request will be the same as the last one!
It looks like some cache. The {cache:false} option didn't resolve the issue.
So the only solution that I found was change request type from 'GET' to 'POST':
$.fn.yiiListView.update('{your-clistview-id-here}', { data: $('.search-form form').serialize(), type:'POST' });
Not sure what it is, but maybe it help anyone.
Problem
I have a problem with this widget.
If I close it, it does not show up again. I have to refresh the page to select again. What seems to be the problem?
And also, is there an option that it shows the text that has been selected thanks!
Dropdown doesn't close
Once I open the list , I can't close it, not by clicking the select nor by the X button.
Any ideas why?
I can not insert into the form
I have tried to use this extension, but I several problems arise
One-not the dropdown closes when I choose an item
2-close button does not work me
3-when I give "insert" an element over my application throws me the error "field must be a number", the primary keys are integers and auto-increment
any idea?
this is my code
<div class="row"> <?php echo $form->labelEx($model,'causas_cond_fk'); ?> <?php $data= CHtml::listData(CausasCond::model()->findAll(array('order'=>'causas_cond_desc')),'id','causas_cond_desc'); $this->widget('ext.EchMultiSelect.EchMultiSelect', array( 'model' => $model, 'dropDownAttribute' => 'causas_cond_fk', (foreing key) 'data' => $data, 'dropDownHtmlOptions'=> array( 'style'=>'width:278px;', ), )); ?> <?php echo $form->error($model,'causas_cond_fk'); ?> </div>
dependent dropdown for echmultiselect
how to integrate dependent dropdown for this extension....?
Uncaught TypeError: this._destroy is not a function
I'm using this in filters in my CGridView. After selecting, console show me an error:
Uncaught TypeError: this._destroy is not a function :(
fix for "Uncaught TypeError: this._destroy is not a function :"
this is a side-effect of upgrade to jQueryUI 1.9.2 in Yii 1.1.13
Here's the fix from my code, in EchMultiSelect/assets/jquery.multiselect.js:
~~~
// JJD 2/20/13 fix bug after upgrading to Yii 1.1.13 which includes jQueryUI 1.9.2
// from: http://wiki.jqueryui.com/w/page/12138135/Widget factory
// it says to rename destroy as _destroy and don't call the parent.
// actually that leaves the widget open after ajax page refresh
// retain the original function name but comment-out call to parent destroy. this works.
destroy: function(){
//_destroy: function(){
// remove classes + data
//JJD $.Widget.prototype.destroy.call( this );
this.button.remove();
this.menu.remove();
this.element.show();
return this;
},
~~~
Uncaught TypeError: this._destroy is not a function
@Jeremy: Unfortunately this code is not working. Still I have the same error message :(
(jquery ui - 1.9.2, MultiSelect UI Widget 1.12)
re: fix for _destroy()
you have to clear your /assets/ directory and restart the web server
the asset is published and you are using the previously-published version
Uncaught TypeError: this._destroy is not a function
@Jeremy:
I did it. btw I had this code before:
destroy: function(){ // remove classes + data $.Widget.prototype.destroy.call( this ); this.button.remove(); this.menu.remove(); this.element.show(); return this; },
So I commented only prototype destroy call after your messag. Then I clear assets, and restart my xampp.
Console (chrome) show me error in jquery-ui.min.js:6
(Uncaught TypeError: this._destroy is not a function)
how to customize filter for searching optgroup text...!!!
Thank you so much for your contribution!! I wanted to know how to override filteroptions for the groupoptions... i mean when we try to search options by its groupoption text then its not searching its only display matching options irrespective of parent and child...
thanks again, this is very much appreciated!
Drop down cannot be closed
Hi all,
is there already a solution for this problem? I tried on windows/xampp as well as on linux/apache, but the window stays open...
Thanks in advance
Not working as expected, getting below errro,
Downloaded and added all the files under extension folder, and then added on
cgridview code
// use EchMultiSelect for the next column
array ( 'name'=>'brand_id', 'filter'=> $this->widget('ext.EchMultiSelect.EchMultiSelect', array( 'model' => $model, 'dropDownAttribute' => 'brand_id', 'data' => CHtml::listData(Brands::model()->findAll(array("order" => "sortOrder")), 'id', 'name'), 'options' => array('buttonWidth' => 80, 'ajaxRefresh' => true,'filter'=>true), ), true // capture output; needed so the widget displays inside the grid ), ),
on my layout registered jquery,
<?php Yii::app()->clientScript->registerCoreScript('jquery'); ?>
But getting below error,
jquery.js:6920 Uncaught TypeError: jQuery.easing[this.easing] is not a function
at init.run (jquery.js:6920) at tick (jquery.js:7304) at Function.jQuery.fx.timer (jquery.js:7614) at Animation (jquery.js:7371) at HTMLDivElement.doAnimation (jquery.js:7461) at Function.dequeue (jquery.js:4004) at HTMLDivElement.<anonymous> (jquery.js:4047) at Function.each (jquery.js:383) at jQuery.fn.init.each (jquery.js:136) at jQuery.fn.init.queue (jquery.js:4040)
If I try to register jquery.ui on my layout using,
<?php Yii::app()->clientScript->registerCoreScript('jquery'); ?>
I does't work though.
About this error
> jquery.js:6920 Uncaught TypeError: jQuery.easing[this.easing] is not a function
The problem is in jquery.multiselect.js (EchMultiSelect-v1.3) as the effect method arguments are inverted (at least for the current jQuery version):
.show( effect, speed ) and .hide( effect, speed ) on lines 566, 573, 600 should be replaced by the correct order .show( speed, effect ) and .hide( speed, effect ).
(this is a duplicate of this post on stakoverflow)
Yes I was the asker of that question on stackoverflow.com. After fixing the those line of 566, 573 and 600, the easing issue gone but now new issue arises with below message on console on jquery-ui.min.js:6, except that easing feature seems ok now.
jquery-ui.min.js:6 Uncaught TypeError: this._destroy is not a function at b.<computed>.<computed>.destroy (jquery-ui.min.js:6) at b.<computed>.<computed>.destroy (jquery.multiselect.js:630) at HTMLSelectElement.<anonymous> (jquery.ui.widget.min.js:13) at HTMLSelectElement.dispatch (jquery.js:4641) at HTMLSelectElement.elemData.handle (jquery.js:4309) at Object.trigger (jquery.js:4550) at jQuery.fn.init.triggerHandler (jquery.js:5266) at b.cleanData (jquery.ui.widget.min.js:10) at Function.cleanData (jquery-ui.min.js:6) at HTMLDivElement.<anonymous> (jquery.js:5867)
Thanks in Advance @fabian.h
If you have any questions, please ask in the forum instead.
Signup or Login in order to comment.