我正在尝试从 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;
我可以在我的 html 源代码中看到我所有的文本输入都有一个 data-jsonid 属性,但我无法确定它在 javascript/jquery 中是什么。调试时只能找到名称和值。
我创建了一个 jsfiddle 项目来帮助解释,http://jsfiddle.net/mvargos/dSz38/。如果单击“提交查询”,则会打印页面的 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"]}]`
我不确定我是在做一些错误的语法还是犯了其他错误。感谢您的帮助,如果这个解释很差,请告诉我。