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;
},