如何提取“数据”的内容并将其加载到表单输入中? 情况是这样的,我有一个数据显示,它被拉出来 数据库表。现在在显示的数据上,我放置了一个“编辑”链接。现在我的问题是, 如何使用这个json的东西,为了让我能够加载数据 点击/编辑输入表格中的数据?
$(function() {
//retrieve comments to display on page
$.getJSON("testfile.php?jsoncallback=?", function(data) {
//what to code here?
});
});
答案 0 :(得分:0)
答案 1 :(得分:0)
使用jquery parser解析来自服务器的json,然后将数据放在任何地方
答案 2 :(得分:0)
如果您返回了简单的字段值映射,请按照以下方法执行操作
$.each(data, function(key, val) {
$('#'+key).val(val);
});
示例数据 -
{
"name": "name",
"address": "address"
}
但是如果返回嵌套数据,则需要遍历对象。
答案 3 :(得分:0)
我将输入字段命名为与JSON属性相同。所以,如果我有以下对象:
{
"foo": "",
"bar": {
"baz": ""
}
}
字段定义为:
<input name="foo" class="jsonItem">
<input name="bar.baz" class="jsonItem">
和JSON成功处理程序将递归填充它们:
$.getJSON("testfile.php?jsoncallback=?", function(data) {
function(root) {
var fillInputs = function(obj, prefix) {
prefix = prefix ? prefix + '.' : '';
for (var prop in obj) {
if (obj.hasOwnProperty(prop)) {
var prefixOrName = prefix + prop;
var propVal = obj[prop];
if (typeof propVal === 'object') {
fillInputs(propVal, prefixOrName);
}
else {
$('input.jsonItem[name=' + prefixOrName + ']').val(propVal);
}
}
}
};
fillInputs(root, '');
});
如果要使用id而不是name,请务必转义选择器中的点:
prefix = prefix ? prefix + '\.' : '';
...
$('input.jsonItem#' + prefixOrName).val(propVal);
另外,由于我很懒,上面的函数没有考虑JSON对象中的数组,但这不应该很难添加。