diff --git a/select2.js b/select2.js
index <HASH>..<HASH> 100755
--- a/select2.js
+++ b/select2.js
@@ -626,10 +626,10 @@
                         var group;
                         if (element.is("option")) {
                             if (query.matcher(term, element.text())) {
-                                collection.push({id:element.attr("value"), text:element.text()});
+                                collection.push({id:element.attr("value"), text:element.text(), element: element.get()});
                             }
                         } else if (element.is("optgroup")) {
-                            group={text:element.attr("label"), children:[]};
+                            group={text:element.attr("label"), children:[], element: element.get()};
                             element.children().each2(function(i, elm) { process(elm, group.children); });
                             if (group.children.length>0) {
                                 collection.push(group);
add reference to original option element in the data when attached to select. fixes #<I>