Author: mgrigorov
Date: Tue Nov 22 10:59:49 2011
New Revision: 1204915

URL: http://svn.apache.org/viewvc?rev=1204915&view=rev
Log:
WICKET-4236 Use JQuery as a backing library for Wicket's JavaScript code

Reimplement Wicket.Form.serializeSelect() with jQuery.


Modified:
    
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/ajax/res/js/wicket-ajax-jquery.js

Modified: 
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/ajax/res/js/wicket-ajax-jquery.js
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/ajax/res/js/wicket-ajax-jquery.js?rev=1204915&r1=1204914&r2=1204915&view=diff
==============================================================================
--- 
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/ajax/res/js/wicket-ajax-jquery.js
 (original)
+++ 
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/ajax/res/js/wicket-ajax-jquery.js
 Tue Nov 22 10:59:49 2011
@@ -1098,20 +1098,18 @@ jQuery.noConflict();
                            }
                        },
 
+                       /**
+                        * Serializes HTMLFormSelectElement to URL encoded 
key=value string.
+                        *
+                        * @param {HTMLFormSelectElement} select - the form 
element to serialize 
+                        * @return the URL encoded key=value pair (pairs, if 
the select is .multiple) or empty string if the form element is disabled.
+                        */
                        serializeSelect: function (select){
-                               // if it is a non-multiple select, iterating on 
each element is not required (WICKET-389)
-                               if (select.multiple === false){
-                                       return Wicket.Form.encode(select.name) 
+ "=" + Wicket.Form.encode(select.value) + "&";
+                               var result = '';
+                               if (select) {
+                                       result = jQuery(select).serialize();
                                }
-
-                           //else
-                           var result = "";
-                           for (var i = 0; i < select.options.length; ++i) {
-                               var option = select.options[i];
-                               if (option.selected) {
-                                   result += Wicket.Form.encode(select.name) + 
"=" + Wicket.Form.encode(option.value) + "&";
-                               }
-                           }
+                               if (result) result += "&";
                            return result;
                        },
 


Reply via email to