21

CKEditorを使用していて、textareaデータを他のすべての要素と一緒にシリアル化したいと思います。これは可能ですか?

可能であれば、taDataをvalsに追加したいと思います。

var vals = $("#post").find('input,select').serialize();
var taData = CKEDITOR.instances.ta1.getData();
4

1 に答える 1

44

.serialize文字列を返すので、いつでも文字列を変更できますが、これはお勧めしません。文字列の操作が煩雑になる可能性があります。

代わりに、.serializeArray [docs]を使用してデータの配列表現を作成し、それにデータを追加します。name配列の各要素は、aとvalueプロパティを持つオブジェクトです。

var vals = $("#post").find('input,select').serializeArray();
vals.push({name: 'nameOfTextarea', value: CKEDITOR.instances.ta1.getData()});

すべてのjQueryAjaxメソッドはこの構造を理解し、データを適切にシリアル化します。シリアル化された文字列を作成する場合(のように.serialize)、配列を$.param [docs]に渡すことができます。

var query_string = $.param(vals);
于 2012-12-31T14:45:11.000 に答える