jqueryのhtml入力からデータ属性を見つけようとしています。$(this).attr("data-jsonid");
以下のコードで使用
します。
$.fn.serializeObject = function () {
var o = {};
var a = this.serializeArray();
$.each(a, function ()
{
if(!isNaN(this.name))
{
var currentId = $(this).attr("data-jsonid");
if (currentId !== undefined)
{
alert(currentId);
}
if (o[this.name] !== undefined)
{
if (!o[this.name].push)
{
o[this.name] = [o[this.name]];
}
o[this.name].push(this.value || '');
}
else
{
o[this.name] = this.value || '';
}
}
});
return o;
};
$(function () {
$('form').submit(function () {
$('#result').text(JSON.stringify($('form').serializeObject()));
return false;
すべてのテキスト入力に data-jsonid 属性があることを HTML ソースで確認できますが、javascript/jquery でそれが何であるかを特定することはできません。名前と値はデバッグ時にしかわかりません。
この説明を支援するために jsfiddle プロジェクトを作成しましたhttp://jsfiddle.net/mvargos/dSz38/。"Submit Query" をクリックすると、ページの json が出力されます。私の最終目標は、data-jsonid 属性を読み取れるようにして、この属性が存在する場合に json を保存する方法をフォーマットできるようにすることです。現在、jsonは次のように保存されています
`{"1028":["Matt","Varg","27","2","Cris","Vargz","23","A"]}`
しかし、data-jsonid を特定できたら、次のような json を作成したいと思います。
`"1028":[{"id":"1", "tenantInfo":["Matt","Varg","27","2"]},{"id":"2", "tenantInfo":["Cris","Vargz","23","A"]}]`
構文が間違っているのか、それとも他のエラーを起こしているのかわかりません。ご協力ありがとうございます。この説明が不十分な場合はお知らせください。