没有名字的jQuery序列化?

使用.serialize(),我只想要一个值的数组而不是名称值对。

例如,返回此:

单,多和Multiple3&CHECK2和收音机1

代替:

单=单&多个=多&多个= Multiple3&检查= CHECK2&无线电=收音机1

这有点打败序列化的目的,但你可以建立自己的:

var serializeValues = function(obj) { var result = []; for(x in obj) result.push(obj[x]); return result.join('&'); } 

你可以制作自己的插件来做到这一点:

 jQuery.fn.mySerialize = function() { var returning = ''; $('input, select, textarea', this).each(function() { if (this.value !== "") // check this to avoid && in returning string returning += '&' + this.value; }); return returning.substring(1); }; 

你可以像这样使用它:

 var serialize = $("form#fID").mySerialize(); alert(serialize); 

演示: http : //jsfiddle.net/maniator/n2tca/

您可以使用.map将适当的input (在此示例中,所有input s, select s,非按钮的textarea )转换为其值的数组,然后使用join

 $("#my_form").submit(function (e) { var serialized = $(":input:not(:button, :submit)", this).map(function(i, el) { return el.value; }).get().join("&"); alert(serialized); }); 

示例: http //jsfiddle.net/andrewwhitaker/zQ4P2/1/

 var value = $("form").serialize(); var newValue = value.replace(/&[^=]+/g, "").replace(/=/g, "/"); 

String.replace: http : //www.w3schools.com/jsref/jsref_replace.asp

JS Regex: http : //www.w3schools.com/jsref/jsref_obj_regexp.asp