【发布时间】:2016-12-10 09:18:01
【问题描述】:
我正在使用以下内容从数据库中读取数据。
$.ajax({
url: 'loader.php',
success: function(data) {
console.log(data)
}
});
这是返回:[{"name":"Bob Green","ID":"1234"}]
返回的数据是由 php 创建的,格式只是手动创建然后回显。我可以改变这样做的方式,这会让事情变得更容易。
一旦我返回了data,我想更新一个现有的表单。表单字段名称与返回数据中的键匹配。大多数是文本字段,但有几个下拉列表和复选框。
我已经尝试了我在另一个问题上找到的以下方法,但没有奏效。
function populate(frm, data) {
$.each(data, function(key, value){
var $ctrl = $('[name='+key+']', frm);
switch($ctrl.attr("type"))
{
case "text" :
case "hidden":
$ctrl.val(value);
break;
case "radio" : case "checkbox":
$ctrl.each(function(){
if($(this).attr('value') == value) { $(this).attr("checked",value); } });
break;
default:
$ctrl.val(value);
}
});
}
当我在控制台记录 key & value 时,它会将数据显示为单个字母,而不是 name:Bob Green 和 ID:1234
谁能指出我正确的方向。
谢谢
【问题讨论】:
标签: jquery json ajax forms populate