我正在使用 CKEditor 并希望将 textarea 数据与所有其他元素一起序列化。这可能吗?
如果可能的话,我想将 taData 附加到 vals 中。
var vals = $("#post").find('input,select').serialize();
var taData = CKEDITOR.instances.ta1.getData();
我正在使用 CKEditor 并希望将 textarea 数据与所有其他元素一起序列化。这可能吗?
如果可能的话,我想将 taData 附加到 vals 中。
var vals = $("#post").find('input,select').serialize();
var taData = CKEDITOR.instances.ta1.getData();
.serialize
返回一个字符串,因此您可以随时修改字符串,但我不建议这样做,字符串操作会变得混乱。
相反,使用.serializeArray
[docs]创建数据的数组表示,然后将数据添加到其中。数组的每个元素都是一个具有name
andvalue
属性的对象:
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);