Multiple destination, keep rendering sort and Optgroup at the same time?
Open
Atomixcl
opened this issue 7 years ago
•
4 comments
Hi,
I am new to your plugin and I have not much experience at jQuery, but it it is very nice to use.
I am trying to get a page operating with 3 of your examples at the same time.
I need to order by key, in a 4 multiple destination with opt groups (nested, if posible).
I have made all 3 functional separately but I cannot make it work at the same time.
Basically, the plugin allows you to have as many as needed instances on the same page.
In order to help you, I will need some more code to understand what have you done.
Hi, first, thanks for the quick response.
Second, yes, it allows me to have all instances you may need in the same page, but I need that the same instance will be:
Outgroup capable (multiple levels if possible, nested outgrop)
Sort by key (Or not order at all, and preserve the load order)
Multiple Destination (4) at the same time. (this is already done)
I am woking in a Wordpress Menu in order to give access to read, write, delete and an "extra" permission, that is why ' are escaped.
I have removed "all-left and all-right" buttons, in order to save space and omit errors in permits assign.

` $html .= '
moveToRight: function(Multiselect, $options, event, silent, skipStack) {
var button = $(event.currentTarget).attr(\'id\');
if (button == \'multi_d_rightSelected\') {
var $left_options = Multiselect.$left.find(\'> option:selected\');
Multiselect.$right.eq(0).append($left_options);
if ( typeof Multiselect.callbacks.sort == \'function\' && !silent ) {
Multiselect.$right.eq(0).find(\'> option\').sort(Multiselect.callbacks.sort).appendTo(Multiselect.$right.eq(0));
}
} else if (button == \'multi_d_rightSelected_2\') {
var $left_options = Multiselect.$left.find(\'> option:selected\');
Multiselect.$right.eq(1).append($left_options);
if ( typeof Multiselect.callbacks.sort == \'function\' && !silent ) {
Multiselect.$right.eq(1).find(\'> option\').sort(Multiselect.callbacks.sort).appendTo(Multiselect.$right.eq(1));
}
} else if (button == \'multi_d_rightSelected_3\') {
var $left_options = Multiselect.$left.find(\'> option:selected\');
Multiselect.$right.eq(2).append($left_options);
if ( typeof Multiselect.callbacks.sort == \'function\' && !silent ) {
Multiselect.$right.eq(2).find(\'> option\').sort(Multiselect.callbacks.sort).appendTo(Multiselect.$right.eq(2));
}
} else if (button == \'multi_d_rightSelected_4\') {
var $left_options = Multiselect.$left.find(\'> option:selected\');
Multiselect.$right.eq(3).append($left_options);
if ( typeof Multiselect.callbacks.sort == \'function\' && !silent ) {
Multiselect.$right.eq(3).find(\'> option\').sort(Multiselect.callbacks.sort).appendTo(Multiselect.$right.eq(3));
}
}
},
moveToLeft: function(Multiselect, $options, event, silent, skipStack) {
var button = $(event.currentTarget).attr(\'id\');
if (button == \'multi_d_leftSelected\') {
var $right_options = Multiselect.$right.eq(0).find(\'> option:selected\');
Multiselect.$left.append($right_options);
if ( typeof Multiselect.callbacks.sort == \'function\' && !silent ) {
Multiselect.$left.find(\'> option\').sort(Multiselect.callbacks.sort).appendTo(Multiselect.$left);
}
} else if (button == \'multi_d_leftSelected_2\') {
var $right_options = Multiselect.$right.eq(1).find(\'> option:selected\');
Multiselect.$left.append($right_options);
if ( typeof Multiselect.callbacks.sort == \'function\' && !silent ) {
Multiselect.$left.find(\'> option\').sort(Multiselect.callbacks.sort).appendTo(Multiselect.$left);
}
} else if (button == \'multi_d_leftSelected_3\') {
var $right_options = Multiselect.$right.eq(2).find(\'> option:selected\');
Multiselect.$left.append($right_options);
if ( typeof Multiselect.callbacks.sort == \'function\' && !silent ) {
Multiselect.$left.find(\'> option\').sort(Multiselect.callbacks.sort).appendTo(Multiselect.$left);
}
} else if (button == \'multi_d_leftSelected_4\') {
var $right_options = Multiselect.$right.eq(3).find(\'> option:selected\');
Multiselect.$left.append($right_options);
if ( typeof Multiselect.callbacks.sort == \'function\' && !silent ) {
Multiselect.$left.find(\'> option\').sort(Multiselect.callbacks.sort).appendTo(Multiselect.$left);
}
}
}
});
});
</script>';`
I'm sorry,
But it's a bit hard to understand the code you have added.
Could you just do a view soruce after your page is rendered, and put that code here?