我正在使用ckeditor,并希望将textarea数据与所有其他元素一起序列化.这可能吗?
如果可能,我想将taData附加到val.
var vals = $("#post").find('input,select').serialize(); var taData = CKEDITOR.instances.ta1.getData();
解决方法
.serialize返回一个字符串,所以你可以随时修改字符串,但我不会推荐这个,字符串操作可以弄乱.
相反,使用.serializeArray
[docs]创建数据的数组表示,然后将数据添加到它.数组的每个元素都是一个名称和值属性的对象:
var vals = $("#post").find('input,select').serializeArray(); vals.push({name: 'nameOfTextarea',value: CKEDITOR.instances.ta1.getData()});
所有的jQuery Ajax方法都会理解这个结构并正确序列化数据.如果你想创建一个序列化的字符串(就像.serialize),你可以将数组传递给$.param
[docs]:
var query_string = $.param(vals);