define(function () { return function ($elements) { var values = {}; $elements.each(function () { var $input = $(this); var value = $input.val(); if (!value) { return; } if ($input.is(':checkbox, :radio') && !$input.is(':checked')) { return; } var name = $(this).attr('name'); var v = values[name] || []; values[name] = v; v.push(value); }); var s = ''; for (var k in values) { for (var i = 0; i < values[k].length; i++) { s += '&' + k + '=' + encodeURIComponent(values[k][i]); } } if (s) { s = s.substr(1); } return s; }; });